练习向:一次简单的二次打包后debug调试smali

 

会反编译了,会smali修改了,会二次打包了,那么在java的源码方面还有什么要走的呢?

那大概就是debug调试smali了吧,我第一次了解smali也能调试的时候,也是很震惊的

好了,不说废话,来说下要准备什么吧

1.smalidea-0.05.zip:IDEA或者AS插件,能识别smali文件并在其上打断点,没有的话则IDE只把smali文件当成普通的文件,而不能打断点

最新下载地址:https://bitbucket.org/JesusFreke/smali/downloads/

(IDEA插件商店里里我找过了,没有,只能去手动下下来安装)

安装方式有二:

一:解压zip文件得到插件文件夹,点开idea的插件菜单,选择从硬盘去安装这个插件

二:解压zip文件得到插件文件夹,把文件夹直接扔到idea安装目录下的plugins文件夹内,重启idea

2.IDEA:听说AS对这个插件有什么BUG

3.一个APK反编译后的文件夹:对此就拿上一篇的APK来用http://blog.csdn.net/ons_cukuyo/article/details/78919754

好了,开始吧

1.打开反编译文件

首先把上次反编译的apk安装到手机上(不然怎么调试啊)

然后使用打开的方式反编译文件夹,后面就一路next就好了,不要选什么其他model的(这一步之前请把插件安装上,很简单的,我就不写了)

选择反编译后的文件夹

进去后IDEA识别到你的项目里有mainfest,所以认定为安卓项目,这里一定要点这个设置,不然不会给你弹出调试的按钮

调试按钮出来了

 

2.开始调试

在手机上运行该程序,以让连接按钮能找到程序进程

(题外话:做过安卓开发的,应该都知道进入debug模式有两种方法,一种代码变了然后点击debug按钮重新安装程序进入debug,一种是使用上面的按钮,attach debugger to android process,代码没变的情况下直接选择进程进入debug模式调试)

之后会显示连接的地址和方式

网上还有种做法,就是在run里面增加一个renmote方式,编辑IP和端口,然后运行,我猜是上面题外话说到的类似第一种进入debug的方式。亲测了下,没成功,不知道为什么。放弃了,是吧,我们有这种方便的方式,还用那种繁琐的方式干嘛,是吧吐舌头

 

最后在smali文件上打断点,运行程序就可以像平常和debug一样执行了,注意,如果断点是在程序运行开头,则需要先运行程序连接上,然后退出重进(因为退出后,进程也不会立马会死)

 

3.总结

整个过程,最关键还是smalidea这个插件,这个插件起到了至关重要的作用,能让idea识别smali文件并打上断点,之后连接上进程就能debug了。

1.有的时候debug、debug程序就崩了,不知道为什么

2.一定要点那个设置本文件夹为安卓项目的按钮,这样才能显示进程连接的按钮

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值