真机动态调试_方法2

本文介绍了如何使用ShakaApktool.jar进行便捷的Android应用动态调试,包括反编译、开启调试功能、回编译、签名、配置Android Studio、安装调试版APK、使用ADB以调试模式启动应用等步骤,特别强调了ShakaApktool.jar在观察代码方面的优势以及安装Smalidea插件以支持Smali代码调试的重要性。
摘要由CSDN通过智能技术生成

这种方法更便捷: 便捷地方在于
不用在 入口类的 oncreate函数下 加等待 debug代码

1:
反编译
这里有差别 跟之前方法 之前用的是 apktool.jar 这里用的是 ShakaApktool.jar 用这个 待会用 as调试时 有颜色显示 之前的 全是一片白 这种更便于观察
java -jar ShakaApktool.jar d -df 111.apk -o 123
2:
开启调试功能
在 AndroidManifest.xml 里 的 <application android:debuggable=“true”
加上代码 android:debuggable=“true”
3:
回编译
java -jar ShakaApktool.jar b -d 123 -o 222.apk
4:
签名
用Apktoolbox 签名
5:
开启DDMS (monitor)
cmd 里 输入 monitor

6:
打开AS(androidstudio)并进行配置
文件->open 选择 之前反编译修改后的 文件夹
AS左边 project 点击 右边一点有下拉标志那点击 选择 projectFiles
菜单栏 运行 编辑结构 + 远程 设置 端口号
在相应代码处 下断点

注意:如果没安装plugin smalidea-0.05.zip的话 就要安装下
此时AS无法识别Smali代码,我们需要导入识别Smali代码的插件(smalidea-0.05.zip),步骤如下:
File-Settings-Plugins-install plugin from disk,选择插件,确定,选择重启AS,重新打开后,即可正常识别Smali代码,并且可以设置断点.
7:
安装apk到手机上
adb install D:\tools\android\222.apk
注意 这里安装的 必须是 添加了 android:debuggable=“true” 的 apk
不然的话 monitor是 捕捉不到程序的
8:
用adb指令以调试模式打开手机上的apk程序
adb shell am start -D -n packageName/ActivityName(这两个参数在AndroidMainfest.xml里都可以找到)

// //这里是packageName
//
android:name=“com.pujiahh.Main1” //这里是ActivityName;

即adb shell am start -D -n com.loli.loli/com.pujiahh.Main1
意思是 以调试模式 打开这个 apk

程序开启,会有debug提示窗口,DDMS将8700端口给与apk,回到AS点击debug调试运行,即可开始调试.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值