2015-11-07 1 views
1

Quand je mets minifyEnabled à true dans build.gradle, je reçois l'erreur suivante en essayant de construire mon signé APK: Je suisImpossible de construire APK en raison d'une erreur de proguard

Error:Execution failed for task ':app:packageRelease'. 
> Unable to compute hash of .../app/build/intermediates/classes-proguard/release/classes.jar 

ne sais pas pourquoi cela se passe . Toute aide appréciée.

+0

Regardez la sortie de génération pour les avertissements proguard précédents. – laalto

+0

Il ya beaucoup d'avertissements disant "ne peut pas trouver la classe référencée" liée à mes bibliothèques tierces (comme Butterknife, Parse, et OkHttp) – vikzilla

+0

Ajouter des règles '-dontwarn' pour ces paquets. – laalto

Répondre

0

Vous ajoutez des règles proguard pour les bibliothèques tierces, n'est-ce pas?

Par exemple, pour Butterknife vous devez ajouter ce fichier à Proguard:

-keep class butterknife.** { *; } 
-dontwarn butterknife.internal.** 
-keep class **$$ViewBinder { *; } 

-keepclasseswithmembernames class * { 
    @butterknife.* <fields>; 
} 

-keepclasseswithmembernames class * { 
    @butterknife.* <methods>; 
} 
+0

Je ne suis pas actuellement. Nouveau sur Android, je me demande si toutes les bibliothèques tierces ont besoin d'une règle proguard pour les builds de release? Par exemple, j'utilise mopub mais je n'ai pas vu les docs en dire beaucoup sur proguard/setting minifyEnabled = true – vikzilla

+0

Certaines bibliothèques ont besoin de proguard config. Mopub a aussi: https://github.com/mopub/mopub-android-sdk/blob/master/mopub-sample/proguard.cfg – Ozgur

+0

Même quand j'ajoute tout cela, j'ai la même erreur malheureusement – vikzilla