Dies ist mein erstes Projekt in Android Studio, und der Code meiner Apps ist nicht verschleiert. Ich verwende diese Konfiguration in der Datei build.gradle:
Ich verwende die Build> Generate Signed APK ... mit aktiviertem Run Proguard. Und wenn ich mit Apk_OneClick.v4.2 getestet habe, ist mein Code völlig einfach zu lesen:
Bitte hilf mir. :(
android
android-studio
proguard
Felipe Porge Xavier
quelle
quelle
Antworten:
Wahrscheinlich signieren Sie den Release-Build der APK nicht über den Signatur-Assistenten. Sie können die Release-APK entweder über die Befehlszeile mit dem folgenden Befehl erstellen:
Oder Sie können die Release-Variante in der Ansicht " Varianten erstellen" auswählen und über die GUI erstellen:
quelle
Sie können Ihre build.gradle-Datei für die Proguard-Implementierung konfigurieren. Dies kann auf Modulebene oder auf Projektebene erfolgen.
Die gezeigte Konfiguration ist für die Debug-Ebene, aber Sie können Ihre eigenen Build-Varianten wie unten gezeigt in buildTypes schreiben:
Besser, Sie haben Ihr Debugging mit
minifyEnabled false
und Productionbuild und andere Builds alsminifyEnabled true
.Kopieren Sie Ihre Datei proguard-rules.txt in das Stammverzeichnis Ihres Moduls oder Projektordners wie
$YOUR_PROJECT_DIR\YoutProject\yourmodule\proguard-rules.txt
Sie können den Namen Ihrer Datei beliebig ändern. Verwenden Sie nach der Konfiguration eine der drei verfügbaren Optionen, um Ihren Build gemäß buildType zu generieren
Gehen Sie im rechten Bereich zur Gradle-Aufgabe und suchen Sie
assembleRelease/assemble(#your_defined_buildtype)
unter Modulaufgaben nachGehen Sie im linken Bereich zu Build-Variante und wählen Sie den Build aus der Dropdown-Liste aus
Wechseln Sie im Datei-Explorer zum Projektstammverzeichnis, öffnen Sie cmd / terminal und führen Sie es aus
Linux
./gradlew assembleRelease or assemble(#your_defined_buildtype)
Windows
gradlew assembleRelease or assemble(#your_defined_buildtype)
Sie finden apk in Ihrem Modul- / Build-Verzeichnis.
Weitere Informationen zum Speicherort der Konfigurations- und Proguard-Dateien finden Sie unter dem Link
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard
quelle
NB.: Jetzt statt
Sie müssen verwenden
quelle
Versuchen Sie, Ihre Datei 'proguard-rules.txt' in 'proguard-android.txt' umzubenennen, und entfernen Sie den Verweis auf 'proguard-rules.txt' in Ihrer Gradle-Datei. Der
getDefaultProguardFile(...)
Aufruf verweist auf eine andere Standard-Proguard-Datei, die von Google bereitgestellt wird und nicht auf die in Ihrem Projekt. Entfernen Sie dies also ebenfalls, damit hier die Gradle-Datei lautet:quelle
Die anderen Antworten hier sind großartige Referenzen zur Verwendung von Proguard. Ich habe jedoch kein besprochenes Problem gesehen, auf das ich gestoßen bin, das ein Geisteskranker war. Nachdem Sie eine signierte Version .apk generiert haben, wird sie in den
/release
Ordner Ihrer App verschoben, aber meine App hatte eine apk, die sich nicht im/release
Ordner befand. Daher habe ich Stunden damit verbracht, die falsche Apk zu dekompilieren und mich zu fragen, warum meine Proguard-Änderungen keine Auswirkungen hatten. Hoffe das hilft jemandem!quelle
Hier sind einige der häufigsten Proguard-Regeln, die Sie in der Datei proguard-rules.pro in Android Sutdio hinzufügen müssen.
Buttermesser
Nachrüstung
OkHttp3
Gson
Code-Verschleierung
quelle