AndroidStudio 動態(tài)調(diào)試Smali代碼

AndroidStudio調(diào)試方式其實和IDEA調(diào)試方式比較類似,畢竟是基于IDEA開發(fā)的。

優(yōu)點是:斷點可以打的比其他方式更早,比如入口Activity的onCreate方法,甚至入口Application(個人猜想未測試),而不必進入應(yīng)用后再觸發(fā)斷點。

安裝插件

最好安裝0.0.5版本。

應(yīng)用開啟調(diào)試模式

  1. 首先將應(yīng)用設(shè)置為debug模式,兩處修改同IDEA調(diào)試。
  2. 命令行啟動調(diào)試模式,adb shell am start -D -n packagename/ MainActivity

如果packagename和MainActivityActivity路徑相同的話,包名(com.test.www), MainActivity(com.test.www.activity)。
命令行:adb shell am start -D -n com.test.www/.activity.MainActivity。
路徑不同,包名(com.test.www), MainActivity(com.sample.www.activity):adb shell am start -D -n com.test.www/com.sample.www.activity.MainActivity

  1. 通過DDMS中的pid查看應(yīng)用所在進程。
    如果不用 DDMS可以通過adb shell執(zhí)行 ps | grep packagename命令查看pid。
  2. 端口轉(zhuǎn)發(fā):adb forward tcp:8700 jdwp:pid
    如果DDMS開啟狀態(tài),請關(guān)閉,否則會報錯。

配置Android Studio調(diào)試環(huán)境

  1. 將smali目錄(或在smali建一級父目錄后將該目錄導(dǎo)入),選擇Import Project(Eclipse ADT, Gradle)后選擇Create project from existing sources,一路Next。
  2. 成功導(dǎo)入工程后右鍵點擊 src 目錄,設(shè)定 Mark Directory As --> Sources Root
  3. 配置遠程調(diào)試的選項,選擇 Run -->Edit Configurations,增加一個Remote調(diào)試的調(diào)試選項,端口選擇:8700。
  4. 選擇File -->Project Structure 配置JDK。
  5. 打好斷點之后Run -> Debug開始調(diào)試。

相關(guān)推薦:
JEB動態(tài)調(diào)試apk
IDEA 動態(tài)調(diào)試Smali代碼


參考:

Android studio動態(tài)調(diào)試smali

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

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

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