← 返回目录

如何调试别人写的apk

发布时间: 2018-05-30 23:48:46
浏览量: 3026
收藏数: 5
标签: android, apk, 调试, jni, gdb
1. 新一个工程,package name和原apk的package一致2. 解压原来的apk, 得到class.dex3. 使用apktool d x.apk, 解压资源到 x目录4. 把res和assets复制到新的工程相应目录5. 新的工程加一个jni,写两个mk文件,一个是随便写个空函数,一个写原apk的so的prebuild. 6.  ndk-build NDK_DE

1. 新一个工程,package name和原apk的package一致

2. 解压原来的apk, 得到class.dex

3. 使用apktool d x.apk, 解压资源到 x目录

4. 把res和assets复制到新的工程相应目录

5. 新的工程加一个jni,写两个mk文件,一个是随便写个空函数,一个写原apk的so的prebuild. 
6.  ndk-build NDK_DEBUG=1

7.android update project . , 生成build.xml

8.cp adt/tools/ant/build.xml的<project> 的子节点所有内容 替换生成的ant的这一行:<import file="${sdk.dir}/tools/ant/build.xml" />

9. 修改 <dex path="${intermediate.dex.file}"/> 指向解压得到的class.dex,如<dex path="/yourpath/classes.dex"/>

10. ant debug

11. adb install myproject-debug.apk

12. ndk-gdb --start

有root的机器,以上都不用做,直接gdbserver或用ida, attach上去就好了。 

很多前年2014年写的,一直在草稿里,不知道为什么了。。。发出来了。