每次我都是自问自答,也是心塞。
幸运的是我每次都能自己找到解决的办法。
出现以上问题的原因是里面的有些类是不能进行混淆的。
若不做过滤操作,会使有些功能出现问题,使应用出现风险。
问题已经解决只是官方给出的代码混淆的文档确实是不好找到,我找了好久。
下面贴出解决的方案供同样遇到问题的人参考,少走许多弯路,节省一些宝贵的时间。
请代码混淆的配置文件中加上下面的代码,问题便快速解决:
proguard.cfg
-keepattributes Signature
-dontwarn com.jcraft.jzlib.**
-keep class com.jcraft.jzlib.** { *;}
-dontwarn sun.misc.**
-keep class sun.misc.** { *;}
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.** { *;}
-dontwarn sun.security.**
-keep class sun.security.** { *; }
-dontwarn com.google.**
-keep class com.google.** { *;}
-dontwarn com.avos.**
-keep class com.avos.** { *;}
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient
-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslError
-dontwarn android.webkit.WebViewClient
-dontwarn android.support.**
-dontwarn org.apache.**
-keep class org.apache.** { *;}
-dontwarn org.jivesoftware.smack.**
-keep class org.jivesoftware.smack.** { *;}
-dontwarn com.loopj.**
-keep class com.loopj.** { *;}
-dontwarn org.xbill.**
-keep class org.xbill.** { *;}
-keepattributes Annotation