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工具进行还原:

  1. 将crash堆栈保存到文件中,如保存到 /a/crash.txt

  2. 找到发生crash的apk对应的mapping文件,假设存放在 /a/mapping.txt

  3. 进入Android sdk的cmdline的bin目录,以mac为例:

cd /Users/kamlin/Library/Android/sdk/cmdline-tools/6.0/bin
  1. 最后在调用retrace进行还原:
./retrace /a/mapping.txt /a/crash.txt --verbose

注意

dex模式的apk的混淆工具是使用r8进行混淆,因此在堆栈还原时不能使用proguard的gui工具进行还原

上次编辑于:
Kuikly AI助手