码迷,mamicode.com
首页 > 系统相关 > 详细

8.eclipse调试smali

时间:2016-08-21 18:23:14      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:

一.重打开包APK
1.apktool解包文件
apktool d -d XXX.apk
这里注意使用-d参数,生成的smali文件才是以java结尾的,才能被eclipse识别

2.找到AndroidManifest文件,设置允许调试
找到AndroidManifest.xml文件,在application节点中设置属性android:debuggable="true"

或者在回编译时加入-d参数,会自动设置该属性,高版本apktool取消了该功能

3. OnCreate函数中加入(不加入也可以)
invoke-static {}, Landroid/os/Debug;->waitForDebugger()V

4.重新编译打包

5.签名apk
上述过程太繁琐,我编写了一个python脚本来完成一键操作,使用时需要配置config.py环境


安装完毕后运行程序,可以看到我们需要调试的程序的端口号为8620
技术分享


用Eclipse新建工程,然后导入解包之后的src目录
技术分享


在主Activity的OnCreate函数下断电
技术分享


配置调试选项
工程右键->Debug AS->Debug Config->Remote Java Application->New-> Port 8620
然后点击Debug,把程序退出到主界面,然后在点进去,断点就断下来了
技术分享


然后就可以开始单步调试了
技术分享







8.eclipse调试smali

标签:

原文地址:http://www.cnblogs.com/bingghost/p/5792968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!