Howto in Eclipse debuggen die Proguard verschleierte apk-Datei

8

Ich habe einen Absturz in meiner App, nachdem ich Proguard benutzt und mit einem neuen Schlüssel signiert und exportiert habe.
Derselbe Code funktioniert im normalen Eclipse-Debug-Modus.

Ich lese überall, ich sollte die mapping.txt verwenden, um den Code zu finden, der fehlgeschlagen ist. Aber wie mache ich das, ich habe das jetzt 2 Stunden lang googlen und keine Antwort funktioniert.

Ich unterschreibe jetzt die apk-Datei mit dem debug.keystore und benutze das Standardpasswort "android".
Jemand sagt, ich sollte Android: debuggable="false" in meinem Application-Tag zu machen Proguard verschleiert meine Debug-Session in Eclipse.

Stimmt das?
Jede Hilfe wäre ätzend

auf der Proguard Android Developer-Seite Ich finde keine Möglichkeit, dies zu tun

"Wenn Ihr verschleierter Code einen Stack-Trace ausgibt, werden die Methodennamen verschleiert, was das Debugging ha"

macht

Was "Stack-Trace" und von wo?

Auf der Seite Proguard-Handbuch kann ich keine Erklärung finden

    
Erik 12.09.2011, 17:21
quelle

5 Antworten

4

Nicht in Eclipse.

Außerhalb von Eclipse verwenden Sie Retrace function in ProGuard. Sie benötigen außerdem den Dump-Stacktrace und mapping.txt , die Sie im Verzeichnis proguard Ihres Projekts gefunden haben, um den verschleierten Stacktrace umzukehren. Denken Sie daran, bei jeder Bereitstellung einer neuen Version Ihrer Android-App eine Kopie von mapping.txt zu speichern (vorzugsweise außerhalb des Arbeitsbereichs des Projekts).

    
ChuongPham 16.11.2012, 13:56
quelle
7

Sie können den Stack-Trace am einfachsten mit der Proguard-GUI de-obfuscieren. Sie finden dies mit Ihrem Android SDK.

%Vor%
  1. Führen Sie die obige GUI aus dem obigen Pfad aus.
  2. Klicken Sie unten im linken Bereich auf die Schaltfläche 'ReTrace'.
  3. Fügen Sie den Pfad zu Ihrer Mapping-Datei (mapping.txt) im Textfeld 'Mapping file' hinzu.
  4. Fügen Sie eine Kopie Ihres Stack-Trace in das Textfeld "Verschleierte Stack-Trace" ein.
  5. Klicken Sie unten rechts auf "ReTrace".
  6. Glückliches Debugging!

    
Will Calderwood 26.10.2014 08:07
quelle
4

Nachdem Sie sich das angeschaut haben, zeigt die Dokumentation von proguard auf der Android-Entwickler-Website, wie man einen Stack-Trace entschlüsselt, aber nicht, wie man den Stack-Trace abruft.

Ссылка (siehe Abschnitt Entschlüsselung von verschleierten Stapelspuren)

Ich habe versucht, einen Logcat-Dump wie folgt zu verwenden: -

%Vor%

Leider funktioniert das nicht, aber es funktioniert, wenn ich die E / AndroidRuntime (14584) vom Anfang jeder Zeile entferne, funktioniert es:

%Vor%

So wie die Dokumentation besagt, benötigen Sie eine Stack-Trace-Datei, und es scheint keinen Hinweis darauf zu geben, eine gültige Stack-Trace-Datei vom Gerät zu erhalten.

Die einzige Möglichkeit, die ich gesehen habe, ist, einen benutzerdefinierten Ausnahmebehandler bereitzustellen und den Stack-Trace auf die SD-Karte zu schreiben.

    
Ian Warwick 26.01.2012 10:30
quelle
0

Für Mac-Benutzer verwenden Sie den folgenden Code, um den /Users/XYZ/Library/Android/sdk/tools/proguard/bin/proguardgui.sh

  1. Führen Sie die obige GUI aus dem obigen Pfad aus.
  2. Klicken Sie unten im linken Bereich auf die Schaltfläche "ReTrace".
  3. Fügen Sie den Pfad zu Ihrer Mapping-Datei (mapping.txt) in der Mapping-Datei hinzu Datei 'Textfeld.
  4. Fügen Sie eine Kopie Ihres Stack-Trace in den 'Verschleierten Stack-Trace' ein. Textfeld. Klicken Sie auf
  5. 'ReTrace' unten rechts.

Glückliches Debugging!

    
user3420575 15.03.2018 14:39
quelle
-5

Schritte zur Verschleierung apk:

  1. Laden Sie das neueste Programm von der Proguard-Seite herunter. Die aktuellste Version ist proguard4.7

  2. Ersetzen Sie den Ordner "bin" und "lib" von C:\Program Files (x86)\Android\android-sdk\tools\proguard durch die zuletzt heruntergeladenen Proguard-Ordner.

  3. Überprüfen Sie den SDK-Speicherort in Eclipse auf Leerzeichen und wechseln Sie zu Window & gt; Einstellungen & gt; Android. Wenn Leerzeichen vorhanden sind, ersetzen Sie sie durch:

    %Vor%
  4. Überprüfen Sie, ob sich die Datei proguard.cfg im Stammordner Ihres Projekts befindet, und fügen Sie in der Datei project.properties von android project proguard.config=proguard.cfg hinzu.

  5. Exportiere nun dein Projekt, um die apk zu erhalten.

KTMCoder 17.04.2012 17:12
quelle

Tags und Links