Android Activation de ProGuard avec un fichier de configuration d'obscurcissement personnalisé


Exemple

ProGuard permet au développeur de masquer, réduire et optimiser son code.

# 1 La première étape de la procédure consiste à activer le proguard sur la construction .

Cela peut être fait en définissant la commande 'minifyEnabled' sur true sur la construction de votre choix.

# 2 La deuxième étape consiste à spécifier les fichiers proguard que nous utilisons pour la construction donnée

Cela peut être fait en définissant la ligne 'proguardFiles' avec les noms de fichiers appropriés

buildTypes {
    debug {
        minifyEnabled false
    }
    testRelease {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-tests.pro'
    }
    productionRelease {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-tests.pro', 'proguard-rules-release.pro'
    }
}

# 3 Le développeur peut alors éditer son fichier proguard avec les règles qu'il souhaite.

Cela peut être fait en éditant le fichier (par exemple «proguard-rules-tests.pro») et en ajoutant les contraintes souhaitées. Le fichier suivant sert d'exemple de fichier proguard

// default & basic optimization configurations
-optimizationpasses 5
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*

-verbose

-dump obfuscation/class_files.txt
-printseeds obfuscation/seeds.txt
-printusage obfuscation/unused.txt // unused classes that are stripped out in the process
-printmapping obfuscation/mapping.txt // mapping file that shows the obfuscated names of the classes after proguad is applied

// the developer can specify keywords for the obfuscation (I myself use fruits for obfuscation names once in a while :-) )
-obfuscationdictionary obfuscation/keywords.txt
-classobfuscationdictionary obfuscation/keywords.txt
-packageobfuscationdictionary obfuscation/keywords.txt

Enfin, chaque fois que le développeur exécute et / ou génère son nouveau fichier .APK, les configurations proguard personnalisées seront appliquées, répondant ainsi aux exigences.