android app兩種調試方法


方法一:

1、使用apktool的-d選項反編譯apk文件

   java  -jar  apktool.jar  d  -d  target.apk  -o  output

2、在AndroidManifest的application節點中添加 android:debuggable="true"

3、在入口點的類的onCreate中添加如下代碼等待調試

   invoke-static{}, Landroid/os/Debug;->waitForDebugger()V

4、回編譯apk

   java  -jar  apktool.jar  b  -d  output  -o  newTarget.apk

5、對apk進行簽名

   java -jar signapk.jar testkey.x509.pem testkey.pk8 newTarget.apk signed.apk

6、將簽名后的apk安裝到手機或者模擬器上

   adb install signed.apk

7、將1中的smali代碼導入到Android Studio中

   file→open→output目錄→下斷點

8、打開Monitor查找相應的進程

   運行→monitor 或者Tools ->Android ->Android Device Monitor

9、配置遠程調試選項

   Run→Editor Configurations→Defaults→Remote,點擊+號新增一個,Host為localhost,Port為8700

10、打開apk,點擊綠色的小蟲子就可以開始調試了

 

 

方法二:無需修改原apk文件

1、用 Android killer等工具反編譯apk文件

2、將smali代碼入到Android Studio中,安裝smaliidea插件

File→Settings→Plugins→Install plugin from disk…→Restart

3、配置遠程調試選項,打開monitor

4、使用adb以debug方式啟動apk

   adb shell am start -D -n package/activitiyname

5、下斷點開始調試,在watch中添加寄存器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM