android app兩種調試方法

DYIPet 8年前發布 | 94K 次閱讀 安卓開發 Android開發 移動開發

來自: http://www.cnblogs.com/1chavez/p/5187029.html

方法一:

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中添加寄存器

</div>

 本文由用戶 DYIPet 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!