2017-06-05 5 views
0

Mon application est complètement prête à être déployée et utilise de nombreuses bibliothèques. Je veux rapetisser le code en utilisant Proguard et que vous souhaitez également supprimer des classes inutilisées et des ressources, mais en utilisant proguard J'obtiens l'erreur d'exécutionProblèmes d'exécution lors de l'utilisation de Proguard pour réduire

java.lang.RuntimeException: Unable to create application com.rig.onblick.App: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference 

je passé par beaucoup de tutoriel, mais son semble trop compliqué à écrire la configuration PROGUARD parce que j'ai écrire de nombreuses règles pour m'assurer que mon application fonctionnera parfaitement. Je n'ai jamais utilisé proguard dans ce genre de grand projet. Quelqu'un peut-il me dire la configuration minimale qui s'assure qu'au moins mon code sera minimisé et n'obtiendra pas d'erreur d'exécution.

Ma configuration actuelle est la suivante.

-dontwarn com.witt.mspapp.** 

-keep class com.github.mikephil.** { *; } 
-dontwarn com.github.mikephil.** 

-keep class com.github.mikephil.** { *; } 
-dontwarn org.apache.** 

-keep class com.google.gms.** { *; } 
-dontwarn com.google.gms.** 

-keep class com.viewpagerindicator.** { *; } 
-dontwarn com.viewpagerindicator.** 

-keep class org.jivesoftware.smackx.** { *; } 
-dontwarn org.jivesoftware.smackx.** 

Je suis en train de tester l'environnement de débogage. et ma configuration de gradation est comme ci-dessous

debug { 
      minifyEnabled true 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 

Répondre

0

Il n'y a rien de "configuration minimale" pour la configuration de proguard. Vous obtiendrez la configuration proguard pour chaque bibliothèque sur sa page officielle des pensions. Ainsi, quelles que soient les dépendances que vous avez utilisées, parcourez-les et ajoutez une configuration proguard pour chacune de ces dépendances.

+0

Très peu de bibliothèques ont une configuration proguard. J'ai déjà essayé de les ajouter. Mais ce n'est pas résoudre le problème. Je veux juste au moins réduire au minimum rien. –