Android 动态化堆栈还原
小于 1 分钟
Android 动态化堆栈还原
Dex 模式 crash堆栈还原
Dex 模式的crash堆栈是经过混淆的,因此还原Dex 模式的crash堆栈需要保留Kuikly动态下发的apk对应的mapping文件,Kuikly插件在构建动态下发的apk时,会保留对应的mapping文件,构建路径为: kuikly-dynamic-apk-builder/build/outputs/kuikly/apk/release/split/下, 拿到mapping文件和crash堆栈后,使用android 提供的retrace工具进行还原:
将crash堆栈保存到文件中,如保存到 /a/crash.txt
找到发生crash的apk对应的mapping文件,假设存放在 /a/mapping.txt
进入Android sdk的cmdline的bin目录,以mac为例:
cd /Users/kamlin/Library/Android/sdk/cmdline-tools/6.0/bin
- 最后在调用retrace进行还原:
./retrace /a/mapping.txt /a/crash.txt --verbose
注意
dex模式的apk的混淆工具是使用r8进行混淆,因此在堆栈还原时不能使用proguard的gui工具进行还原