145 votes

Comment conserver / exclure un chemin de paquet particulier lors de l'utilisation de proguard?

Je souhaite exclure certains chemins de fichiers de ProGuard. Exemple com.myapp.customcomponents

Comment puis-je faire ceci? Je déteste placer des indicateurs de maintenance pour chaque fichier de composant personnalisé que j'ai dans ce répertoire.

J'ai essayé ce qui suit mais ça ne marche pas:

 -keep public class com.myapp.customcomponents.*
 

300voto

Eric Lafortune Points 17656

Vous ne précisez pas en quoi cela ne fonctionne pas. Votre configuration conserve les noms de toutes les classes publiques dans le package spécifié:

 -keep public class com.myapp.customcomponents.*
 

La configuration suivante conserve les noms de toutes les classes publiques du package spécifié et de ses sous-packages:

 -keep public class com.myapp.customcomponents.**
 

La configuration suivante conserve les noms de tous les classes / champs / méthodes publics / protégés dans le package spécifié et ses sous-packages:

 -keep public class com.myapp.customcomponents.** {
  public protected *;
}
 

86voto

Pawan M Points 4396

Ajouter les lignes suivantes au bas de proguard.config

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

Remplacez le nom du paquet en conséquence, com.facebook sera exclu de proguard.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X