C'est mon premier projet dans Android Studio, et le code de mes applications n'est pas obscurci. J'utilise cette configuration dans le fichier build.gradle:
J'utilise Build> Generate Signed APK ... avec le Run Proguard coché. Et, lorsque j'ai testé en utilisant Apk_OneClick.v4.2, mon code est complètement facile à lire:
Aidez-moi, s'il vous plaît. :(
android
android-studio
proguard
Felipe Porge Xavier
la source
la source
Réponses:
Vous ne signez probablement pas la version de version de l'APK via l'assistant de signature. Vous pouvez soit créer l'APK de version à partir de la ligne de commande avec la commande:
ou vous pouvez choisir la variante de version dans la vue Build Variants et la construire à partir de l'interface graphique:
la source
Vous pouvez configurer votre fichier build.gradle pour l'implémentation de proguard. Cela peut être au niveau du module ou au niveau du projet.
La configuration indiquée est pour le niveau de débogage, mais vous pouvez écrire vos propres versions de construction comme indiqué ci-dessous dans buildTypes:
Mieux vaut avoir votre débogage avec
minifyEnabled false
et productionbuild et autres builds commeminifyEnabled true
.Copiez votre fichier proguard-rules.txt à la racine de votre module ou dossier de projet comme
$YOUR_PROJECT_DIR\YoutProject\yourmodule\proguard-rules.txt
Vous pouvez modifier le nom de votre fichier comme vous le souhaitez. Après la configuration, utilisez l'une des trois options disponibles pour générer votre build selon le buildType
Accédez à la tâche de gradation dans le panneau de droite et recherchez les
assembleRelease/assemble(#your_defined_buildtype)
tâches sous le moduleAccédez à la variante de construction dans le panneau de gauche et sélectionnez la version dans la liste déroulante
Accédez au répertoire racine du projet dans l'Explorateur de fichiers et ouvrez cmd / terminal et exécutez
Linux
./gradlew assembleRelease or assemble(#your_defined_buildtype)
les fenêtres
gradlew assembleRelease or assemble(#your_defined_buildtype)
Vous pouvez trouver apk dans votre répertoire module / build.
Plus d'informations sur la configuration et l'emplacement des fichiers proguard sont disponibles sur le lien
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard
la source
NB: Maintenant au lieu de
vous devrez utiliser
la source
Essayez de renommer votre fichier 'proguard-rules.txt' en 'proguard-android.txt' et supprimez la référence à 'proguard-rules.txt' dans votre fichier gradle. L'
getDefaultProguardFile(...)
appel fait référence à un autre fichier proguard par défaut, celui fourni par Google et non celui de votre projet. Alors supprimez-le également, de sorte qu'ici le fichier gradle se lit comme suit:la source
Les autres réponses ici sont d'excellentes références sur l'utilisation de proguard. Cependant, je n'ai pas vu de problème discuté que j'ai rencontré et qui était un esprit pliant. Une fois que vous avez généré une version signée .apk, elle est placée dans le
/release
dossier de votre application, mais mon application avait un apk qui n'était pas dans le/release
dossier. Par conséquent, j'ai passé des heures à décompiler le mauvais apk à me demander pourquoi mes modifications proguard n'avaient aucun effet. J'espère que cela aide quelqu'un!la source
Voici quelques-unes des règles Proguard les plus courantes que vous devez ajouter dans le fichier proguard-rules.pro dans Android Sutdio.
Couteau à beurre
Rénovation
OkHttp3
Gson
Obscurcissement du code
la source