2014-07-09 4 views
1

J'ai du mal à comprendre ce que cela fait en proguard: Est-ce que cela évite d'obfocaliser toutes les méthodes protégées dans toutes les classes publiques?proguard propertie non compris

-keep public class * { 
    public protected *; 
} 

S'il vous plaît expliquer ou faire référence à une bonne explication

+0

J'ai eu un problème avec proguard, après avoir passé des heures à creuser, en ajoutant cela pour le résoudre. Je serai heureux de savoir ce qu'il fait en fait aussi ... – Shirane85

Répondre

1

Ces lignes gardent toutes les classes publiques, et à l'intérieur de ces classes publiques, tous les publics et tous les champs protégés et méthodes. Cela signifie qu'il conserve toutes les API publiques du code d'entrée, ce qui est approprié pour le traitement des bibliothèques.

Voir le manuel de ProGuard> Exemples>A typical library.

+0

Merci pour votre réponse! Si je peux demander, n'est-ce pas trop drastique? Est-ce une utilisation courante dans proguard dans les applications Android? – roiberg

+1

Vous ne devez utiliser cette configuration que pour le traitement des bibliothèques (en tant que produit final). Il est en effet beaucoup trop drastique pour le traitement des applications, car il empêche l'obscurcissement de nombreuses classes/champs/méthodes. –