我在我的android项目中转向了proguard并得到了下面的警告。在Google上搜索但找不到太多信息。
警告:retrofit.Platform $ Java8:找不到引用的类 org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
我已将retrofit2 proguard规则放在我的项目中。
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepclasseswithmembers class * {
@retrofit2.http.* <methods>;
}
答案 0 :(得分:1)
对Retrofit 2.3.0和okhttp 3.8.0使用以下程序规则
-dontnote retrofit2.Platform
-dontwarn retrofit2.Platform$Java8adapters.
-keepattributes Signature
-keepattributes Exceptions
-dontwarn org.xmlpull.v1.**
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
答案 1 :(得分:0)
像这样改变:
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8
当在Java 8 VM上运行时,Retrofit页面已经注意到这个proguard构建:
为什么会这样?
原因是: 编译器尝试引用Java 8类,当你没有通过Proguard提及它时,在你明确提到它之后,将不会使用Java 8类。 例如 Java 8的java.nio。*包在Android上不可用,永远不会被称为