動(dòng)態(tài)調(diào)試smali的步驟

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)

{?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評(píng)論 25 709
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,842評(píng)論 2 45
  • 心中像有一團(tuán)火燒我的急需發(fā)泄,這是我第一次在簡(jiǎn)書上發(fā)表文章,以前也想發(fā)表,但是感覺自己文筆不好,怕寫出來的東西沒有...
    Puff安閱讀 522評(píng)論 0 0
  • 尊敬的市長(zhǎng)先生, 您好!感謝您百忙之中查閱我的郵件! 高新西區(qū)地處*縣,緊鄰*縣縣城,這里上風(fēng)上水,人杰地靈。作為...
    梁兄閱讀 264評(píng)論 0 0

友情鏈接更多精彩內(nèi)容