2017-08-12 4 views
1

Impossible de créer une version apk avec proguard. Sans proguard tout va bien. J'ai essayé beaucoup d'autres règles de proguard que j'ai trouvées sur Internet, mais sans succès. Je soupçonne que le problème est que j'utilise VectorDrawable et minApi 19.Impossible de créer une version apk avec proguard

Gradle output

-ignorewarnings 

    # Remove logs 
    -assumenosideeffects class android.util.Log { 
     public static boolean isLoggable(java.lang.String, int); 
     public static int v(...); 
     public static int i(...); 
     public static int w(...); 
     public static int d(...); 
     public static int e(...); 
    } 

    # BaseRecyclerViewAdapterHelper 
    -keep class com.chad.library.adapter.** { 
     *; 
    } 
    -keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter 
    -keep public class * extends com.chad.library.adapter.base.BaseViewHolder 
    -keepclassmembers public class * extends com.chad.library.adapter.base.BaseViewHolder { 
     (android.view.View); 
    } 

    # Glide specific rules # 
    -keep public class * implements com.bumptech.glide.module.GlideModule 
    -keep public class * extends com.bumptech.glide.AppGlideModule 
    -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { 
     **[] $VALUES; 
     public *; 
    } 

    # Realm 
    -keep class io.realm.annotations.RealmModule 
    -keep @io.realm.annotations.RealmModule class * 
    -keep class io.realm.internal.Keep 
    -keep @io.realm.internal.Keep class * 
    -dontwarn javax.** 
    -dontwarn io.realm.** 

    # Retrofit 2.X 
    -dontwarn retrofit2.** 
    -keep class retrofit2.** { *; } 
    -keepattributes Signature 
    -keepattributes Exceptions 
    -keepclasseswithmembers class * { 
     @retrofit2.http.* ; 
    } 
    -dontwarn retrofit2.Platform$Java8 

    # OkHttp 
    -keepattributes Signature 
    -keepattributes *Annotation* 
    -keep class okhttp3.** { *; } 
    -keep interface okhttp3.** { *; } 
    -dontwarn okhttp3.** 

    # Okio 
    -dontwarn okio.** 
    -dontwarn org.codehaus.** 
    -dontwarn java.nio.** 
    -dontwarn java.lang.invoke.** 
    -dontwarn rx.** 

studio Android 3.0 Beta 2

version Graddle 4.1

+0

Je ne suis pas sûr mais essayez de changer la version Gradle. faites-le plus bas –

+0

https://stackoverflow.com/questions/36737073/how-to-fix-warning-cant-find-referenced-class-in-android-eclipse-proguard-rul essayez ceci –

Répondre

1

Le problème était dans le chemin à proguard-rules

Changé ce code

proguardFiles getDefaultProguardFile('proguard-android.txt'), '$project.rootDir/tools/proguard-rules.pro' 

Pour ce

proguardFiles getDefaultProguardFile('proguard-android.txt'), '../tools/proguard-rules.pro'