Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Proguard retrace tool's output

I'm experimenting with proguard now that it's easier to use from within eclipse. I've exported a signed version of my app with a deliberate bug that causes a crash for testing. After I get the stack trace and run retrace -verbose mapping.txt stack.txt, instead of giving me where the error occurs, it gives me the class where error happens and list a of methods, one of which is the method where the exception happens.

I've used the official guide for all of this and edited the logcat stack trace capture to be in the same format as the dev console. Anyone know what the problem could be?

like image 333
Al. Avatar asked Jan 06 '11 20:01

Al.


People also ask

What is a ReTrace mapping file?

R8 retrace is a tool for obtaining the original stack trace from an obfuscated stack trace. The stack trace is reconstructed by matching class and method names in a mapping file to their original definitions.


1 Answers

If your obfuscated code doesn't contain line number information, mapping an obfuscated method name (like 'a') to the original method name is no longer unambiguously possible, due to name overloading. The examples in the ReTrace manual illustrate the difference.

To avoid this effect, you can preserve line number information in the obfuscation step, as shown in an example in the ProGuard manual.

like image 114
Eric Lafortune Avatar answered Oct 01 '22 19:10

Eric Lafortune