apktool是GOOGLE提供的apk反编译工具,apktool能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。
【apktool软件介绍】
ApkTool是一款非常优秀的apk反编译工具,拥有编译、反编译、签名等功能,对于经常DIY安卓软件的朋友来说,是必不可少的工具。ApkTool能够支持WIN7系统,但是这款apk反编译工具暂不支持WIN8系统。
【apktool使用方法】
一、运行环境搭建
1.安装JAVA。
2.完成安装后在桌面我的电脑上点右键,按以下步骤点击:属性>高级>环境变量,在下面的“环境变量”点击新建,创建两个系统变量:[1.变量名:JAVA_HOME 变量值:C:\Program Files\Java\jre7,该目录为java安装目录]、[2.变量名:CLASSPATH变量值:安装目录\lib\dt.jar;安装目录\lib\tools.jar;.注意,最后面有一个小点的“.”]
3.编辑一个系统变量-Path变量[在它的变量值最后面加上;安装目录\bin
注意,前面有个分号]
4.测试;运行CMD(开始,运行,输入cmd,回车),输入java -version,回车,如出现JDK版本,那就是已经安装成功了。
二、编译方法
普通APK:
1.将APK放置到APKTool目录下,并改名为123.apk
2.打开APKTool,选择1进行反编译操作完成后会生成一个apk文件夹,大家可以进行改代码、换图标等操作!
3.修改完成后,选择数字3,进行回编译和签名工作,此时生成的apk就可以直接安装了!
当然你也可以选择2,只进行回编译操作(这时的APK没有签名不能安装)
4.然后选择4进行单独的签名工作!
系统APK:
需要将系统APK,framework-res.apk放置到APKTool目录里,并将系统apk改名为123.apk(如果是HTC Rom你还需要将com.htc.resources.apk也放到目录里)
【apktool使用教程】
要想使用apktool等工具,首先必须搭建java环境
请自己下载JDK,看好自己是32-bit还是64-bit,对应下载。
java JDK:http://www.cncrk.com/downinfo/63687.html
安装,我是安装在 C:\Program Files\Java\jdk1.7.0 要记住安装位置,待会儿用的着。
接着(以win7示例,xp也差不多)以此打开 计算机-属性-高级系统设置-高级-环境变量,
如下图
点击系统变量(s)下的新建按钮
新建 变量名 JAVA_HOME
变量值为 C:\Program Files\Java\jdk1.7.0(即刚才的安装路径,视自己情况而定)
同理
新建 变量名 PATH
变量值 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
新建 变量名 CLASSPATH
变量值 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar(陷阱,前面的符号不要忘了哦)
最后保存下配置。。。。。
至此,java环境已经配置成功。为了保险起见,我们来验证一下
打开CMD(开始-附件-命令提示符 或者 win+R)
输入javac或者java,回车如果出现以下类似帮助,哈哈,恭喜你
接下来主角出场啦,就是apktool,虽说这个工具网上到处都是,但好多不能编译4.0的apk。所以但我极力推荐下面这个(虽说比起其他的麻烦一些,但成功率是我见过最高的,为某些懒惰的机友着想,我也做了些傻瓜处理),这个工具我找的好辛苦的啊。
在下面的工具包里。下载下来之后,解压到任意路径。(建议是某个盘的根目录,好找,哈哈)
我的是这样的
这个工具基本只有以下两个命令:
一、apktool d XX.apk YY
apktool d为反编译命令,其中d代表decode
XX.apk为需要反编译的apk的文件名(XX最好不要带汉字)
YY为存放反编译后的文件的文件夹(随你便,也不要为汉字。。。。YY也可以省略,默认放在XX文件夹内,建议直接省略)
二、命令说明:apktool b YY(上面省略的话就是XX,哈哈)
apktool b为重新编译命令
YY为需要编译的目录(就是存放刚刚你定义的文件夹,上面省略的话就是XX)
下面我以RE管理器:http://www.cncrk.com/downinfo/30288.html(非系统文件)为例(刚好桌面上有一个,哈哈,直接拿来用)
一、傻瓜方式
1、 将“re管理器.apk”拉进apktool文件夹内,如下:
2、 将“re管理器.apk”改名为“0.apk”(是零,不是O)
3、 双击“点我反编译.bat”,然后等。。。。等。。。。等。。。。。。。。。。。。然后就发现多了一个文件名为0文件夹。
4、 由于是学习阶段,暂时不做修改,直接双击“点我回编译.bat”回编译感受下成功的喜悦。看着窗口,你就知道生成的apk在哪里了。(吊吊胃口,谁用谁知道)
5、 当然,你以后做到这一步,还需要签名才能安装。签名工具最后有下载,下了你就会用。
二、手动方式(以4.04系统文件systemui.apk修改1%电量为例)
1、 将systemui.apk还有framework-res.apk(很重要)放入apktool文件夹下
2、 接着打开CMD窗口,输入e: (回车)
3、 再输入cd apktool(回车) 结果如下:
4、 接着输入:apktool if framework-res.apk(回车),这一步是加载框架,反编译系统程序时很必要。但是我这个版本可以省略这一步的,为安全起见,我顺便也做了这步
5、 输入apktool d systemui.apk(回车),看到下面就成功一半了
6、 然后你就可以修改新生成的systemui文件夹里边的文件了(可没让你乱改,哈哈)现在就可以将1%电池脚本替换到apktool\systemui\res\drawable里边了。如下
7、 然后将你需要的电量图标复制到apktool\systemui\re s\drawable-hdpi里边。
8、 回编译,CMD窗口输入apktool b systemui(回车)出现下面画面,你就有希望成功了。
9、 最后,很重要的一步,你看不到自己卡M了不要怪我哈。这里将原始apk称为A,新生成的apk称为B。以方便下面叙述。将A,B均用winrar打开,不要解压。
第一,(还有第二哦)将B中的resources.arsc文件拉到A中替换,压缩方式改为存储。切记
第二:将B中的电量脚本拉到A中进行替换,方法参考上面。B中的drawable-hdpi文件夹也拉进A中替换。大功告成,佩服你自己吧。
最后,修改好的A就可以替换到你的手机啦,不过切记要先改权限,相信大家都懂的。
总结:系统apk的反编译是不需要签名的,但最后要进行替换。如上。
一共要替换两类:
1、resources.arsc文件
2、回编译之前修改过的文件。如例子中的电量脚本与电量图标所在的drawable-hdpi文件夹。