ANT-build für Android, Proguard Verschleierung
Kann niemandem teilen mit Probe/einfache Verschleierung ANT-task für Android? Vorausgesetzt, ich habe die komplette APK, und ich brauche nur pass *Klasse hru Proguard und dann bereiten *.dex build APK
InformationsquelleAutor barmaley | 2011-01-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe die Lösung gefunden:
UPDATE abzuschließen build.xml
Dieser ANT-task Hinzugefügt werden, um die Eclipse-Builder (Eigenschaften/Bauherren) Aufgaben nach dem Java-generator und vor Android package builder.
Drücken Sie auf "Alle Erstellen" (es ist besser, Sie zu deaktivieren Sie das Automatische Erstellen prüfen Sie im Eclipse-Menü)
nicht finden können jarutils.jar
Warum haben Sie Hinzugefügt, "es ist besser, Sie zu deaktivieren Sie das Automatische Erstellen überprüfen Sie in Eclipse im Menü"? Ist diese deutlich langsamer als die Standard-Eclipse-Java/Android Bauherren? Wenn dem so ist, ist es nur, weil der Proguard Schritt, oder ist das ant-build-Prozess schlecht bei der Erkennung von Abhängigkeiten?
Ich habe geschrieben komplett build.xml
InformationsquelleAutor barmaley
Dem Android build-Prozess zunächst kompiliert Java-Quelldateien (.java), Java-Klasse-Dateien (.Klasse), dann konvertiert diese class-Dateien in Dalvik-code (Klassen.dex), und schließlich Pakete dieser Dalvik-code in eine APK-Datei.
ProGuard liest und schreibt Java-class-Dateien, so dass es vorher in dieser pipeline zwischen die Zusammenstellung Schritt und die Umwandlung Schritt. Es braucht nicht Lesen oder schreiben Dalvik-code selbst, also kann es nicht auf die APK-Datei.
Den Android SDK-Dokumentation auf der ProGuard beschreibt die zum aktivieren der Verschleierung Schritt in die Ant-build für android-9. Kurz gesagt, müssen Sie eine Zeile hinzufügen "proguard.config=proguard.cfg" in die Datei default.Eigenschaften, und führen Sie "ant release".
Da die ProGuard Schritt ausgeführt werden soll, in der Mitte des build-pipeline, es ist nicht möglich, fügen Sie einfach ein Ant-task vor oder nach der VORSTELLUNG zu bauen. Sie müssen erstellen Sie eine Ant-build.xml Skript für den gesamten build-Prozess und ändern Sie es. Die android-Befehl aus dem Android SDK erstellt eine Ant-Datei für Sie. Alternativ IDEE ist das erstellen einer Ant-file (Build - > Erstellung von Ant-build...). Die IDEE, Android-plugin für die IDEE scheint bereits zu erstellen, die Ant-Datei mit dem Android SDK. Sie können dann führen Sie das Ant-build-von der IDEE (Menü-Leiste auf der rechten Seite, vorausgesetzt, die Ant-plugin aktiviert ist).
InformationsquelleAutor Eric Lafortune
Aufmerksamkeit: barmaley Antwort ist aus dem Jahr 2011, und es scheint, gültig für die Android SDK Tools version 8 oder 10.
Ich habe versucht, die Anpassung dieser Lösung mit Android SDK Tools version 18.1.1, aber gehalten nicht auf den Fehler:
taskdef class com.android.ant.SetupTask cannot be found
Schließlich, was ich Tat, war dies:
Dieser erstellt eine frische build.xml das ist konform mit den aktuellen SDK-Tools, und scheinen zu automatisieren, die viel manuelle Arbeit beschrieben wird, in barmaley ' s Antwort.
Danach war ich in der Lage zu laufen
ant release
, die kümmerte sich um Gebäude und Verschleierung das Ergebnis .apk-Datei aus der box.Um die Automatisierung der Verschleierung über ant, müssen Sie Folgendes tun:
ant.properties
- Datei und füllen Sie es mit der entsprechenden Taste.speichern params (siehe das SO Antworten für details).InformationsquelleAutor AVIDeveloper
Den proGuard Verschleierung Prozess benötigt werden .class-Dateien, so dass Sie nicht starten können, ein Ant-vor-IDE bauen (.java) oder nach (.dex verpackt).
Haben Sie einen Blick auf diese post, wo erklärt wird, wie hinzufügen der proGuard Schritt in Ihrer globalen Ant-build:
http://www.androidengineer.com/2010/07/optimizing-obfuscating-and-shrinking.html
Wenn Sie wirklich wollen, um die VORSTELLUNG zu bauen, können Sie versuchen, die folgenden.
Sorry, dass ich nicht fügen Sie Sie der links von apktool und dexjar aber da bin ich newbie ich kann nicht mehr posten als ein hyperlink.
InformationsquelleAutor Felipe Fernández