http://www.cnblogs.com/gordon0918/p/5570811.html
1、使用apktool反編譯要?jiǎng)討B(tài)調(diào)試的apk,反編譯apk后子巾,設(shè)置androidmanifest.xml中 application的 android:debuggable="true"
2劝枣、合包并安裝
3而芥、android studio安裝 smalidea后泥从,android studio > file > new > import project ,只將smali代碼導(dǎo)入
想要?jiǎng)討B(tài)調(diào)試Smali還需要安裝一個(gè)插件Smalidea膀值,可以在AS的settings->plugins里面安裝编整。(插件下載鏈接:http://pan.baidu.com/s/1o8RL9jW)
4、studio > run > edit configuration >+號(hào):添加一個(gè)remote:設(shè)置名稱和端口
5畦粮、在AS的終端以調(diào)試模式啟動(dòng)應(yīng)用,進(jìn)程掛起乖阵,并找到進(jìn)程號(hào)
adb shell am start -D -n com.packagename/com.hh.MainActivity (這個(gè)命令跟著包名和mainActivity)
adb shell ps | grep packagename (找到此包名進(jìn)程號(hào))
6宣赔、設(shè)置端口轉(zhuǎn)發(fā),這條命令的含義是在本地8800端口(AS ?remote里配置的)與手機(jī)28881進(jìn)程之間建立一條通道瞪浸,當(dāng)開始調(diào)試時(shí)儒将,AS連接本地的8800端口,通過這條通道控制程序的運(yùn)行
adb forward tcp:端口號(hào) jdwp:進(jìn)程號(hào) (jdwp 是)
7对蒲、在as 工程的smali代碼里打斷點(diǎn)
8钩蚊、as > run debug
9、注意打斷點(diǎn)
{?