我在我的项目中使用了凌空和格森。该项目是一个Lib项目。当我在演示项目中使用Lib时,截击总是抛出错误响应,并显示消息:“org.json.JSONException:End of input at character 0”,并且从来没有成功响应。我想这是由ProGuard引起的。奇怪的是,当我在Lib或演示项目中设置“minifyEnabled”时,一切都很好。但当我在Lib和Demo中设置“minifyEnabled”时,截击总是失败的。有人知道为什么会这样吗?
抱歉,错过了内容。。。
这是截击失误:
org.json.JSONException: End of input at character 0
这是我的截击和格森的ProGuard:
## ----------------------------------
## Gson
## ----------------------------------
-keepattributes Signature
-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.** { *; }
-keep class com.google.gson.stream.** { *; }
## ----------------------------------
## Glide
## ----------------------------------
-keep class com.bumptech.glide.** {*;}
## -------------------------------------------
## volley
## -------------------------------------------
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.NetworkDispatcher {
void processRequest();
}
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.CacheDispatcher {
void processRequest();
}
-keep class com.android.volley.** {*;}
-keep class com.android.volley.toolbox.Volley
-keepclassmembers class com.android.volley.toolbox.Volley { *; }
-keep class com.android.volley.toolbox.** {*;}
-keep class com.android.volley.Response$* { *; }
-keep class com.android.volley.Request$* { *; }
-keep class com.android.volley.RequestQueue$* { *; }
-keep class com.android.volley.toolbox.HurlStack$* { *; }
-keep class com.android.volley.toolbox.ImageLoader$* { *; }
-keep class org.apache.http.** {*;}
重要的是,只有同时混淆Lib和Demo时,才会发生此错误。使用Lib或Demo进行模糊处理不会出现此问题。
有人帮忙吗?我百分之百确信我在ProGuard文件中保留了所有模型类。
2019-03-18 14:38:15.635 11276-11276 W/System.err: com.a.a.m: org.json.JSONException: End of input at character 0 of
2019-03-18 14:38:15.635 11276-11276 W/System.err: at com.a.a.a.k.a(Unknown Source:32)
While the com.a.a.a.k is "com.android.volley.toolbox.JsonObjectRequest"
尝试在您的构建中使用以下配置。格雷德尔。
android {
...
useLibrary 'org.apache.http.legacy'
}
我在volley中遇到了类似的问题,但错误不同,上述配置解决了我的问题。根本原因是Gradle插件默认不再包含所有可选库。
在proguard规则中添加以下行。pro,你可以在Gradle Script下找到
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.NetworkDispatcher {
void processRequest();
}
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.CacheDispatcher {
void processRequest();
}
您也可以参考此链接
使现代化
把这些规则放在proguard中,
-keep class com.android.volley.** { *; }
-keep class org.apache.commons.logging.**
-keepattributes *Annotation*
-dontwarn org.apache.**
当我已经安装模块Volley在android工作室我收到错误: 错误:配置项目“:volley”时出现问题。在C:\Users\egen\AppData\Local\android\sdk Open android sdk Manager中找不到哈希字符串为“android-22”的目标 我已经安装了Android支持库这里怎么了? 编辑 现在我收到了错误: 错误:(10,1)在计算根项目Fysi
我的kubectl版本是: 客户端版本:version.info{Major:'1',Minor:'10',GitVersion:'V1.10.0“,GitCommit:'FC32D2F3698E36B93322A3465F63A14E9F0EAEAD',GitTreest:'Clean',BuildDate:'2018-03-26T16:55:54Z”,GoVersion:'GO1.9.3“,编
我有一个Rest后的电话。每当我尝试使用邮递员打电话时,它都工作正常。但是如果我使用JerseyAPI客户端尝试相同的帖子调用。我收到400个错误请求 字符串URI=“rest URI”; 如果我使用上述输入在Postman中运行相同的请求,我可以成功命中api并获得200,但在JerseyAPI中获得400
我在服务层的spring-boot应用程序中使用了Hystrix(Camden.sr7版本),而没有回退方法。Service的方法之一如下所示: 对于这样的响应,不清楚实际上是从哪个方法抛出异常的。如果我将版本更改为brixton.sr5(以前的版本),它将返回清晰的响应: 因此Hystrix的新版本(实际上是spring-cloud-dependencies的新版本)不会抛出HystrixRun
以下是我的OS和Java版本: OS:Windows 10 openjdk版本“1.8.0_242” openjdk运行时环境(构建1.8.0_242-B08) openjdk 64位服务器VM(构建25.242-B08,混合模式)
当我使用以下proguard规则生成APK时 我得到了这个错误 执行部分求值时发生意外错误:Class=[com/google/Firebase/Remote tconfig/Firebase RemteConfig]method =[getInstance()Lcom/google/Firebase/Remote tconfig/Firebase RemteConfig;]Exc0019=[ja