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:
Dans Android Studio, ouvrez un projet Android.
Passez à la vue du projet.
Changez la ligne suivante:
minifyEnable false
à minifyEnable true
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.
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:
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