http://www.cnblogs.com/gordon0918/p/5570811.html
1、使用apktool反编译要动态调试的apk,反编译apk后,设置androidmanifest.xml中 application的 android:debuggable="true"
2、合包并安装
3、android studio安装 smalidea后,android studio > file > new > import project ,只将smali代码导入
想要动态调试Smali还需要安装一个插件Smalidea,可以在AS的settings->plugins里面安装。(插件下载链接:http://pan.baidu.com/s/1o8RL9jW)
4、studio > run > edit configuration >+号:添加一个remote:设置名称和端口
5、在AS的终端以调试模式启动应用,进程挂起,并找到进程号
adb shell am start -D -n com.packagename/com.hh.MainActivity (这个命令跟着包名和mainActivity)
adb shell ps | grep packagename (找到此包名进程号)
6、设置端口转发,这条命令的含义是在本地8800端口(AS remote里配置的)与手机28881进程之间建立一条通道,当开始调试时,AS连接本地的8800端口,通过这条通道控制程序的运行
adb forward tcp:端口号 jdwp:进程号 (jdwp 是)
7、在as 工程的smali代码里打断点
8、as > run debug
9、注意打断点
{�