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解压到设置的路径,解压之后文件目录如下:

Android Studio 调试Android Smali代码_第1张图片 

其中smali文件夹就是我们需要得到的smali文件,这个文件的内容就是需要调试的。导入 反编译后的apk到Android Studio中,打开smali文件就可以看到反编译之后的文件都是以.smali结尾的,调试设置

Android Studio 调试Android Smali代码_第2张图片

选择Edit Configurations 打开后添加Remote

Android Studio 调试Android Smali代码_第3张图片 

在Port端口改为8600,保存设置。 右击项目选择Mark Director as ,选择Sources Root,之后选择File文件中的Project Structure打开之后再Project Setting中选择Project设置java Version

Android Studio 调试Android Smali代码_第4张图片

设置完之后就可以进行调试工作了。

 如果想在App刚起动就开始设置断点例如自己的application中打断点,就需要以debugger形式启动,两种方法:第一种就是在smali中添加debugger代码Debug.waitForDebugger();第二种方法使用adb命令打开 adb shell am start  -D -n package/activityname 打开,然后选择就可以用AS给程序打断点进行调试了。

你可能感兴趣的:(Android Studio 调试Android Smali代码)