如果我禁用混淆器,我的应用程序可以在 Release模式下正常运行。但是每当我启用混淆器时,它就会崩溃。我相应地更改了 proguard-project.txt。
这是我得到的日志:
> 10-17 08:31:42.705: E/AndroidRuntime(20674): FATAL EXCEPTION: Thread-2016
10-17 08:31:42.705: E/AndroidRuntime(20674): java.lang.ExceptionInInitializerError
10-17 08:31:42.705: E/AndroidRuntime(20674): at com.parse.Parse.initialize(Unknown Source)
10-17 08:31:42.705: E/AndroidRuntime(20674): at com.myapp.android.view.l.run(Unknown Source)
10-17 08:31:42.705: E/AndroidRuntime(20674): at java.lang.Thread.run(Thread.java:864)
10-17 08:31:42.705: E/AndroidRuntime(20674): Caused by: java.lang.NoSuchMethodError: android.net.SSLCertificateSocketFactory.getHttpSocketFactory
10-17 08:31:42.705: E/AndroidRuntime(20674): at com.parse.ParseRequest.newHttpClient(Unknown Source)
10-17 08:31:42.705: E/AndroidRuntime(20674): at com.parse.ParseRequest.<clinit>(Unknown Source)
10-17 08:31:42.705: E/AndroidRuntime(20674): ... 3 more
这是我在 proguard-project.txt 中的配置
-keep class com.parse.**{ *; }
-dontwarn com.parse.**
-keep public class android.net.**{ *; }
-dontwarn android.net.**
最佳答案
我加了两行,解决了。
-dontwarn org.apache.http.**
-keep class org.apache.http.** { *; }
关于android - ProGuard,解析异常,NoSuchMethodError : android.net.SSLCertificateSocketFactory.getHttpSocketFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424671/