在这里借用了KANE的 APKTOOL使用教程,和
http://115.com/file/dpn3ikiz#
apk.rar
下面将正式开始讲解apktool反编译(如有不好请大家见谅这是本人第一次写教程)
apktool.rar
1. 首先安装需要 JAVA 环境,先下载 JDK/JRE ,已经有 JAVA 环境的可跳过此步
java JRE: http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html + T$ u! W! [/ K
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME C:\Program Files\Java\jdk1.6.0_10 解释JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径
Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
环境变量配置好了,我们就可以反编译了,(如果有不明白的有两种方法,1,请教我,2在论坛搜搜怎么设置JAVA环境变量)
反编译的使用反编译工具,网上有很多,有APKTOOL,Doapk ,apkmanage..........,
你们可以随便下载一个,地址我就不提供了,你们自己搜索一下,上百度,上论坛上搜都有的,但apkTOOL工具必须包含一下几个
下载完成反编译工具后,验证是否安装成功,点击开始菜单,运行,输入 CMD 回车按一下回车出现
,
在输入APKTOOl,输入apktool,要看腻把apkTOOL安装在哪个盘,举例我的,我是安装在D盘APkTOOL文件下,先在cmd下输入D:回车,在输入CD apktool,转入apktool文件夹下,输入apktool 出现如下反应, ,
说明你安装成功了,可以进行APK反编译了,下面我已反编译SystemUI.apk为例。
首先的知道一下几条指令的意思1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12文件下,12文件夹不用创建,会自动生成
2,apktool b 12打包12文件夹(将会自动把12文件夹里的修改过得APK解包后修改完后自动打包,
生成resources.arsc,文件,这就是我们反编译的主要目的,
当然还有其他目的,后面将会说明怎么apktool需要反编译的目的,生成的文件。
3,apktool if framework-res.apk这条语句很重要很多时候我们容易忽略这条语句导致打包不成功,这句语句的意思是,有些时候我们解包apk文件需要用framework-res.apk(framework是指系统框架。有时也会用到apktool if twframework-res.apk,同样我们只需在前面输入就行。当然得把framework-res.apk 这个文件目录下。4,apktool if twframework-res.apk ,当然 twframework-res.apk 也应该放在文件目录下,不如反编译Mms.apk.....会用到
知道这四条语句我们就可以进行反编译了。
已反编译SystemUI.apk为例,,下面开始讲解
现在cmd下输入apktool if framework-res.apk(并把framework-res.apk 放在文件目录下)apktool if twframework-res.apk( twframework-res.apk 也应该放在文件目录下 )其实这两部就是搭建安卓系统环境 ,输入完后在解包,apktool d SystemUI.apk 12就行了
这句话很关键要不然你解包会出现如下问题,
这也是我曾经遇到过得问题。疑惑了我好久,终于找到原因了。
当然还有一些人会遇到
APK中有美化过得图片反编译中有时会出错, |
1:直接用压缩软件打开这个APK,从里面提取一个没有报错的9png,这里选取btn_default_small_normal.9.png。复制一份原始的SystemUI.apk。
2,、将刚刚提取的btn_default_small_normal.9.png重命名为APKTOOL里报告有问题的文件名。第一个为title_bar_portrait.9.png,然后用这个title_bar_portrait.9.png替换SystemUI.apk里对应的文件。
重复上面第3步直到所有APKTOOL里报错的文件都被替换完成
3 、再次用APKTOOL反编译SystemUI.apk,可以看到这次反编译就正常了
4.。。按自己想做的进行修改
5、编译修改后的SystemUI文件夹,,.修改你想修改的东西。
6,apktool b 12打包编译的文件夹,编译完成后产生12\build\apk 文件夹,找改动后的文件替换到SystemUI.apk里面。其中resources.arsc必须选择仅存储的压缩方式,其他文件无所谓。
7。替换完成后SystemUI.apk就可以用了。
到这里反编译就基本完成了,大家想要学美化的可以上 9000 论坛,他们那里挺多美化的。
在说一下反编译其他的,替换,图片是可以随便替换的,APK文件里多图片是无所谓的,还是可以用的,
关于替换XML文件的问题,XML文件有些情况是可以随便替换的,有些确实不能替换。XML在不可读的情况下,即用记事本打不开的时候是可以替换的,原因是因为这种XML文件已就编译完成后将里面的内容设置为不可读的(是为了预防中病毒,要不然很容易是文件重病毒),想要读得必须先apktook工具解包,解包完成后就可读取XML文件。可读得即可用记事本打开的是不可以替换的,要不然会出问题的。所以有些时候我们可以用现成的已编译完成的XML文件直接替换,比如时间居,或状态栏透明替换 system/app/SystemUI.apk里的 res/layout/status_bar_tracking.xml和 res/layout/quickpanel_quick_settings.xml和 res/layout/status_bar_expanded.xml和 systemui\res\layout\status_bar.xml文件就行,当然这里是替换别人已经制作好的透明栏,省的每次都要重新修改XML文件,工作量大呀!
在这里教程就已经写得差不多了,如有写得不好的地方请见谅,在此希望大家反编译成功,如果有不懂得地方可以联系我,本人 .非诚勿扰。上面是说会出现的错误,
具体使用步骤(先搭建环境,解包,修改,在打包)第二次讲解,简略了没有出现错误的完整反编译流程