在我们的应用程序中,我们使用改造来进行以下依赖的网络连接:
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
最近我们开始得到这个crash已经解决了 . 那我怎么在我们的应用程序中解决这个问题?我的理解是改造是 Build 在okHttp库的基础之上的 . 这是否意味着我们必须等待包含新okHttp版本的新版本改装或者我可以手动包含新版本的okHttp作为单独的依赖并最终得到:
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.okhttp3:okhttp:3.8.1'
Proguard配置(虽然只是改装部分)
-dontnote retrofit2.Platform
-dontwarn retrofit2.Platform$Java8
-dontwarn okhttp3.**
-dontwarn retrofit2.**
-dontwarn com.squareup.picasso.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepclasseswithmembers class * { @retrofit2.http.* <methods>; }
-keepclasseswithmembers interface * { @retrofit2.* <methods>; }
-dontwarn okio.**
3 回答
是的你可以通过添加
compile 'com.squareup.okhttp3:okhttp:3.8.1'
强制新的okhttp版本如果你运行
gradlew app:dependencies
,你会看到:这意味着,Retrofit声明依赖
okhttp:3.8.0
,但是Gradle将其替换为okhttp:3.8.1
PS:当您没有定义自定义依赖关系解析策略时,这适用于情境
添加这两个并尝试