分享

Android Studio动态调试第三方APK

 黄三岁大爱人生 2020-03-10

1. 下载、安装smalidea插件

smalidea插件下载地址:https:///JesusFreke/smali/downloads/

下载 smalidea-0.05.zip

打开AndroidStudio,点击Preferences... | Plugins, 选择Install plugin from disk

安装插件

2. 下载apktool,反编译要调试的apk文件

Apktool下载地址

通过以下命令反编译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

设置Source Root

 6. 使用apktool在把刚才修改完成的文件夹编译成apk文件,编译完成之后再签名一下,编译命令如下

        java -jar apktool.jar b MyApp -o newMyApp.apk

7. 在AndroidStudio里面配置远程调试的选项,选择Run -> Edit Configurations

配置远程调试的选项1
配置远程调试的选项2

8. 远端调试选项设置端口为8700

远端调试选项设置端口为8700

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

配置JDK
配置JDK

10. 安装之前编译好的APK,以调试状态启动APP

        adb shell am start -D -n PACKAGE_NAME/ACTIVITY_NAME

11. 下好断点之后, AndroidStudio点击Run -> Debug就可以调试了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多