如何在Android Studio中调试第三方只读源码应用?
调试第三方Android应用(解决只读源码无法修改的问题)
核心方案
无需修改只读的反编译源码,通过修改APK调试标志+关联源码调试的方式实现,具体步骤如下:
1. 改造目标APK以开启调试
- 用apktool解压目标APK:
apktool d target.apk - 进入解压目录,打开
AndroidManifest.xml,将<application>标签内的android:debuggable="false"改为android:debuggable="true";若原本无该属性,直接添加即可。 - 重新打包APK:
apktool b target -o debug-target.apk - 给新APK签名(必须签名才能安装),可使用Android Studio默认的debug签名:
apksigner sign --ks ~/.android/debug.keystore debug-target.apk
2. 在Android Studio中关联源码并调试
- 打开已导入反编译源码的项目,或新建空Android项目。
- 将签名后的
debug-target.apk安装到测试设备/模拟器。 - 点击Android Studio顶部菜单栏的
Run -> Attach Debugger to Android Process,选择目标应用进程。 - 若断点未命中,当Studio提示找不到源码时,点击
Choose Source,选中Jadx反编译的整个源码目录完成关联。 - 关联后即可在只读源码上设置断点、执行调试流程,只读属性不影响调试操作。
额外提示
- 若需修改逻辑再调试,不要直接编辑只读源码:复制目标类到新建项目中修改,编译成dex后替换回解压的APK目录,重新打包签名即可。
- 加固APK需先脱壳,否则apktool无法正常解压或修改。
内容的提问来源于stack exchange,提问作者Hekna
相关产品推荐
相关产品推荐

