Decode Obfuscated Stack Trace
There are 2 ways to de-obfuscate stacktrace.
Method 1. Using Graphical User Interface
- Proguardgui is a tool that will help deobfuscate stack traces.
Proguardgui is located in path-to-sdk/tools/proguard/bin/. - You need to open proguardgui.bat (for Windows users) or proguardgui.sh for (Mac or Linux users).
- Head over to the retrace section on the left side Proguard GUI tool.
- Set the path to your mapping file generated (automatically) during the release build that you have backed up from build/outputs/proguard/release/mapping.txt on your application module folder.
- Copy stacktrace from the Appxiom dashboard and paste it inside box titled obfuscated stack trace. Click on Retrace button.
Example snippet - Before DeObfuscation.
example.app.android.be.u(Unknown Source)
example.app.android.we.b(Unknown Source)
android.app.Activity.performCreate(Activity.java:6975)
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
android.app.ActivityThread.-wrap11(Unknown Source:0)
Example snippet - After DeObfuscation.
com.example.app.android.MainActivity.getUserDetails(MainActivity.java:204)
com.example.app.android.MainActivity.onCreate(MainActivity.java:21)
android.app.Activity.performCreate(Activity.java:6975)
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
android.app.ActivityThread.-wrap11(Unknown Source:0)
Method 2. Using Terminal
- Copy the stacktrace from Appxiom dashboard to a file stacktrace.txt.
- Execute retrace.bat /path/to/mapping.txt /path/to/stacktrace.txt > deobfuscate.txt
- Use ./retrace.sh for Linux and Mac users.
- The de-obfuscated stacktrace will be written to the file deobfuscate.txt.