Comment activer l’obfuscation ProGuard dans Android Studio?

Je dois protéger mon application en activant l’obscurcissement Proguard dans Android Studio. J’ai cherché le processus d’application mais je n’ai pas trouvé de solution claire. Quand je l’essaie, j’obtiens toujours une erreur. Alors, est-ce que quelqu’un peut me dire les étapes claires pour l’appliquer dans mon application?

Je le fais par les étapes suivantes:

  1. Dans Android Studio, ouvrez un projet Android.

  2. Passez à la vue du projet.

  3. Changez la ligne suivante:

    minifyEnable false à minifyEnable true

  4. Définir les règles ProGuard (facultatif)

    4.1 Dans la vue du projet, sélectionnez le fichier proguard-rules.pro.

    4.2 Ajoutez les lignes suivantes pour indiquer à ProGuard de ne pas masquer certaines classes.

     -keepclassmembers class com.dom925.xxxx { public * } 

Erreur que je reçois en suivant les étapes sont

Erreur: L’exécution a échoué pour la tâche ‘: app: packageRelease’. Impossible de calculer le hachage de D: \ Android \ Nom du projet \ app \ build \ intermédiaires \ classes-proguard \ release \ classes.jar

J’ai compris le problème:

Ouvrez le fichier proguard-rules.pro pour votre projet et ajoutez-le au bas:

 -dontwarn java.nio.file.Files -dontwarn java.nio.file.Path -dontwarn java.nio.file.OpenOption -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 

Fondamentalement, comment j’ai résolu ce problème, j’ai essayé d’exécuter mon application en mode ‘release’ et j’ai eu un tas d’erreurs similaires à ce type ici: https://github.com/square/okio/issues/144

J’ai suivi à peu près ce qu’il a dit et corrigé.

J’espère que cela peut aider les autres à générer leurs fichiers APK!

visitez plus de détails ici:

Erreur: L’exécution a échoué pour la tâche ‘: app: packageRelease’. > Impossible de calculer le hachage de /../AndroidStudioProjects/../classes.jar

Pour activer ProGuard dans Android Studio.

Vous trouverez ci-dessous un exemple d’activation de ProGuard par défaut dans Android Studio.

  1. Accédez au fichier build.gradle de l’application
  2. activer le true minifyEnabled
  3. Activer shrinkResources true pour réduire la taille APK
  4. proguardFiles getDefaultProguardFile('proguard-android.txt') pour activer celui par défaut. Si vous souhaitez utiliser votre propre fichier proguard, utilisez les règles ci-dessous.

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

Le lien avec les parameters ProGuard pour Android et d’autres parameters est disponible dans ces liens:

  • Fichier ProGuard par défaut
  • Gist avec exemple

Pour plus de détails, consultez ce lien

si vous construisez le projet android avec jack, il réduira automatiquement, masquera, remballera et multidex. Ajoutez juste ci-dessous dans:

 defaultConfig { jackOptions { enabled true } } 

et dans les types de build, mentionnez le fichier proguard du projet:

 buildTypes { release { // Jack build environment does not require minifyEnabled or shrinkResources. // Conceptually, the jack comstackr consolidates the functionality of javac, ProGuard, and dex in a single conversion step //minifyEnabled = true //shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' } debug { ................... } } 

Pour désactiver l’obfuscation de ProGuard, il est nécessaire d’append la ligne ci-dessous dans votre fichier proguard-project.txt.

 ####No obfuscation -dontobfuscate