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年写的,一直在草稿里,不知道为什么了。。。发出来了。