web-dev-qa-db-fra.com

Android Configuration Proguard pour la barre de support de la bibliothèque de support v7

J'utilise la bibliothèque de support v7 pour afficher un ActionBar on Android 2.x. Cela fonctionne assez bien mais j'ai dû corriger quelques classes/méthodes non trouvées erreurs après avoir activé Proguard.

Existe-t-il des directives sur les classes à conserver?

Jusqu'à présent, je les ai:

-keep public class Android.support.v7.internal.widget.ActionBarContainer
-keep class Android.support.v7.internal.widget.ActionBarView$HomeView
-keep public class Android.support.v7.internal.widget.ActionBarContextView

Cela semble fonctionner maintenant, mais je ne suis pas sûr qu'il ne se bloquera pas à un moment donné en raison d'une autre classe soi-disant interne référencée dans un fichier XML.

29
Mirko N.

Je l'ai résolu avec:

-dontwarn Android.support.v7.**
-keep class Android.support.v7.** { *; }
-keep interface Android.support.v7.** { *; }
52
Ivan Morgillo

J'utilise ceci, quelque peu similaire à ce que la version v4 suggérait:

-keep class Android.support.v7.internal.** { *; }
-keep interface Android.support.v7.internal.** { *; }
4
Gábor

Je l'ai obtenu de Android Proguard Snippet

-keep public class Android.support.v7.widget.** { *; }
-keep public class Android.support.v7.internal.widget.** { *; }
-keep public class Android.support.v7.internal.view.menu.** { *; }

-keep public class * extends Android.support.v4.view.ActionProvider {
    public <init>(Android.content.Context);
}

J'espère que cela fonctionnera.

0
Pratik Butani