2017-05-26 4 views
0

J'ai tourné proguard sur mon projet Android et j'ai reçu l'avertissement ci-dessous. Recherché sur Google mais n'a pas pu trouver beaucoup d'informations.Mise à jour d'avertissement avec Proguard

Avertissement: retrofit.Platform $ Java8: ne peut pas trouver référencé classe org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

J'ai mis les règles ProGuard de retrofit2 dans mon projet.

-dontwarn retrofit2.** 
-keep class retrofit2.** { *; } 
-keepattributes Signature 
-keepattributes Exceptions 

-keepclasseswithmembers class * { 
    @retrofit2.http.* <methods>; 
} 

Répondre

0

changement comme ceci:

-dontwarn okio.** 
-dontwarn retrofit2.Platform$Java8 

page Rénovation a noté sur cette version PROGUARD, lors de l'exécution sur Java 8 machines virtuelles:

Pourquoi cela se produit?

La raison est: Le compilateur essaie de référencer les classes Java 8, Quand vous ne le mentionnez pas par Proguard, Après l'avoir explicitement mentionné, les classes Java 8 ne seront pas utilisées. Par exemple Package java.nio. * De Java 8 ne sont pas disponibles sur Android et ne sera jamais appelé

0

Utilisation suivant les règles de ProGuard pour Rénovation 2.3.0 et 3.8.0 okhttp

-dontnote retrofit2.Platform 
-dontwarn retrofit2.Platform$Java8adapters. 
-keepattributes Signature 
-keepattributes Exceptions 
-dontwarn org.xmlpull.v1.** 
-dontwarn okhttp3.** 
-dontwarn okio.** 
-dontwarn javax.annotation.**