1. 下載、安裝smalidea插件
smalidea插件下載地址:https://bitbucket.org/JesusFreke/smali/downloads/
打開AndroidStudio,點擊Preferences... | Plugins, 選擇Install plugin from disk

2. 下載apktool,反編譯要調試的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文件夾,設定Mark Directory as -> Sources Root

?6.?使用apktool在把剛才修改完成的文件夾編譯成apk文件,編譯完成之后再簽名一下,編譯命令如下
? ??????java -jar apktool.jar b MyApp -o newMyApp.apk
7.?在AndroidStudio里面配置遠程調試的選項,選擇Run -> Edit Configurations


8. 遠端調試選項設置端口為8700

9. AndroidStudio的File -> Project Structure,?配置JDK。


10. 安裝之前編譯好的APK,以調試狀態(tài)啟動APP
? ??????adb shell am start -D -n PACKAGE_NAME/ACTIVITY_NAME
11.?下好斷點之后,?AndroidStudio點擊Run -> Debug就可以調試了