Je dois protéger mon application en activant l'obscurcissement de Proguard dans Android Studio. J'ai cherché comment l'appliquer, mais je n'ai pas obtenu de solution claire. Quand je l'essaie, j'ai toujours Quelqu'un peut-il me dire les étapes à suivre pour l'appliquer à mon application?
Je le fais par les étapes suivantes:
Dans Android Studio, ouvrez un projet Android.
Passer à la vue du projet.
Changer la ligne suivante:
minifyEnable false
à minifyEnable true
Définir les règles ProGuard (facultatif)
4.1 Dans la vue 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 je l'ai corrigé.
J'espère que cela pourra aider les autres à générer leurs fichiers APK!
visitez plus de détail ici:
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 paramètres ProGuard pour Android et d’autres paramètres est disponible dans les liens suivants:
Pour plus de détails, passez ce lien
si vous construisez le projet Android avec jack, il effectuera automatiquement la réduction, l’obscurcissement, le reconditionnement et le multidex. Ajoutez simplement ci-dessous dans:
defaultConfig {
jackOptions {
enabled true
}
}
et dans les types de construction, mentionnez le fichier project proguard
:
buildTypes {
release {
// Jack build environment does not require minifyEnabled or shrinkResources.
// Conceptually, the jack compiler 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'ajouter la ligne ci-dessous dans votre fichier proguard-project.txt.
####No obfuscation
-dontobfuscate