2011-01-06 6 views
8

Ich experimentiere mit Proguard jetzt, dass es einfacher ist, von in Eclipse zu verwenden. Ich habe eine signierte Version meiner App mit einem vorsätzlichen Fehler exportiert, der zu Testzwecken einen Absturz verursacht. Nachdem ich den Stapel Trace-und führen Sie Retrace-verbose Mapping.txt stack.txt, anstelle von geben mir, wo der Fehler auftritt, gibt es mir die Klasse, wo Fehler passiert und Liste einer der Methoden, von denen die Methode ist wo die Ausnahme passiert.Proguard Retrace Tool Ausgabe

Ich habe die offizielle Anleitung für all dies verwendet und die Logcat-Stack-Trace-Erfassung im selben Format wie die Dev-Konsole bearbeitet. Wer weiß, was das Problem sein könnte?

Antwort

14

Wenn Ihr verschleierter Code keine Zeilennummerninformationen enthält, ist die Zuordnung eines verschleierten Methodennamens (wie 'a') zum ursprünglichen Methodennamen aufgrund eines Namensüberladens nicht mehr eindeutig möglich. Die examples in the ReTrace manual veranschaulichen den Unterschied.

Um diesen Effekt zu vermeiden, können Sie Zeilennummerinformationen im Verschleierungsschritt speichern, wie in einer example in the ProGuard manual gezeigt.

+0

Das Retrace-Handbuch scheint ab heute nicht zugänglich zu sein. Ich habe "LineNumberTable" usw. aktiviert, und ich kann Zeilennummern in meiner Zuordnungsdatei sehen, aber der Rücklauf kann immer noch nicht zwischen den Methoden unterscheiden. – HRJ

+0

Möglicherweise möchten Sie den Link reparieren - die Seite existiert nicht mehr. –