1. 下載、安裝smalidea插件
smalidea插件下載地址:https://bitbucket.org/JesusFreke/smali/downloads/
打開AndroidStudio,點擊Preferences... | Plugins, 選擇Install plugin from disk
2. 下載apktool隅俘,反編譯要調(diào)試的apk文件
通過以下命令反編譯APK文件
? ??????java -jar apktool.jar d MyApp.apk
3. 將反編譯的文件夾導入AndroidStudio
選擇Import Project
選擇Create preject from existing sources
一直選擇“Next”,直至導入工程完成
?4. 修改代碼
代碼需要修改兩個地方:
AndroidManifest.xml文件中在application中加上:
? ? ? ? ?android:debuggable="true"
找到主Activity或者Application卓囚,在其中加上Debug.waitForDebugger的smali代碼
? ? ? ? invoke-static{}, Landroid/os/Debug;->waitForDebugger()V
5. 在AndroidStudio工程中右鍵點擊smali文件夾纺裁,設(shè)定Mark Directory as -> Sources Root
?6.?使用apktool在把剛才修改完成的文件夾編譯成apk文件祟身,編譯完成之后再簽名一下坡脐,編譯命令如下
? ??????java -jar apktool.jar b MyApp -o newMyApp.apk
7.?在AndroidStudio里面配置遠程調(diào)試的選項泄私,選擇Run -> Edit Configurations
8. 遠端調(diào)試選項設(shè)置端口為8700
9. AndroidStudio的File -> Project Structure,?配置JDK。
10. 安裝之前編譯好的APK,以調(diào)試狀態(tài)啟動APP
? ??????adb shell am start -D -n PACKAGE_NAME/ACTIVITY_NAME
11.?下好斷點之后晌端,?AndroidStudio點擊Run -> Debug就可以調(diào)試了