Android Studio 调试Android Smali代码
Android Studio 调试Smali代码首先需要在Android Studio中安装smalidea插件,
插件地址为https://bitbucket.org/JesusFreke/smali/downloads/,打开网页选择smalidea-0.05.zip进行下载,github 地址为:https://github.com/JesusFreke/smali。
下载完成打开Android Studio 进入plugins插件管理界面,选择 Install plugin from disk,选择刚下载的smalidea-0.05.zip文件,安装完成重启Android Studio。重启之后就可以在AS中调试smali代码了。
首先编写自己的调试apk进行调试测试, 将自己的apk进行反编译,使用apktool进行反编译,apktool 命令 apktool d -o 【解压后文件路径】app-debug.apk,解压之后会将app-debug.apk解压到设置的路径,解压之后文件目录如下:
其中smali文件夹就是我们需要得到的smali文件,这个文件的内容就是需要调试的。导入 反编译后的apk到Android Studio中,打开smali文件就可以看到反编译之后的文件都是以.smali结尾的,调试设置
选择Edit Configurations 打开后添加Remote
在Port端口改为8600,保存设置。 右击项目选择Mark Director as ,选择Sources Root,之后选择File文件中的Project Structure打开之后再Project Setting中选择Project设置java Version
设置完之后就可以进行调试工作了。
如果想在App刚起动就开始设置断点例如自己的application中打断点,就需要以debugger形式启动,两种方法:第一种就是在smali中添加debugger代码Debug.waitForDebugger();第二种方法使用adb命令打开 adb shell am start -D -n package/activityname 打开,然后选择就可以用AS给程序打断点进行调试了。