apktool反编译详细使用教程
安装 反编工具地址apktool工具包下载地址http://115.com/file/c2ry7yoh#
apktool.rar
1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步
apktool.rar
1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步
java JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
java JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html+ T$ u! W! [/ K
java JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html+ T$ u! W! [/ K
还得设置JAVA环境变量
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
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中有美化过的图片有时会出错,再把官方apk的drawable.hdpi覆盖到你打包的那个apk中反编译就不会出错了 或者把不会出错的图片替换掉出错的图片就可以了,不管是什么图片,替换到里面就行,因为最后我们不会用到这里面的图片只要它不出错就行。
(这里参照CATRO里的反编译出错调转http://bbs.lidroid.com/t-62397-1-3.html)当遇到这种问题是
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文件,工作量大呀!
在这里教程就已经写得差不多了,如有写得不好的地方请见谅,在此希望大家反编译成功,如果有不懂得地方可以联系我,本人.非诚勿扰。上面是说会出现的错误,
具体使用步骤(先搭建环境,解包,修改,在打包)第二次讲解,简略了没有出现错误的完整反编译流程
那么我们怎么去使用呢?
1.我们需要在windows下搭建安卓系统环境
把你rom的framework-res.apk和twframework-res.apk提取出来,相信root过的,和会用re管理器的就不用我说怎么提取了!把framework-res.apk和twframework-res.apk放到(如图)
我系统是kph2.3.4的!那么我现在就可以在windows下搭建框架了!
进入CMD,操作如下图!
那么在windows下安装framework框架完成!搭建完成了!那么我们开始反编译Systemui.apk
反编:在cmd在输入apktool
d Systemui.apk 34 (34就是你将Systemui.apk反编出来的文件夹)E:\12\>apktool
d Systemui.apk 34
I: Baksmaling...test
I: Loading resource table...
I: Loaded.
I:loading resource table from C:\Documents and Settings\Administrator\apktool\framework\1.apk
I: Loaded.
I: Decoding
file-resources..
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...(成功)可以进行你的修改了! 解包完后再修改你想修改的就行,修改完后再回编。
回编:在cmd在输入apktool
b 34 (从文件夹34重建APK,输出到34)E:\12\>apktool
b 34
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...(回编成功!)
回编译成功后会在大写APK 文件夹里多个build文件夹我的是E:\12\APK\build在上面的build文件夹里有个小写英文的apk文件夹打开它E:\12\APK\build\apk里面有1个resources.arsc文件将它复制到E:\12下,用wrar软件打开E:\12
下的systemui.apk(还是原来那个)点选里面的resources.arsc文件然后在wrar软件菜单上选择添加 弹出的压缩模式对话框中E:\12下的resources 记得选择存储模式
确定后 退出wrar 把修改的systemui.apk 上传到手机卡中 用手机中的RE文件管理复制它替换掉system/app/systemui.apk,替换前用re管理器修改权限。
安装 翻遍工具地址apktool工具包下载地址http://115.com/file/c2ry7yoh#
apktool.rar
1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步
apktool.rar
1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步
java JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
java JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html+ T$ u! W! [/ K
java JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html+ T$ u! W! [/ K
还得设置JAVA环境变量
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
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就行了 这句话很关键要不然你解包会出现如下问题, 这也是我曾经遇到过得问题。疑惑了我好久,终于找到原因了。
当然还有一些人会遇到
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文件,工作量大呀!
在这里教程就已经写得差不多了,如有写得不好的地方请见谅,在此希望大家反编译成功,如果有不懂得地方可以联系我,本人.非诚勿扰。上面是说会出现的错误,
具体使用步骤(先搭建环境,解包,修改,在打包)第二次讲解,简略了没有出现错误的完整反编译流程
那么我们怎么去使用呢?
1.我们需要在windows下搭建安卓系统环境
把你rom的framework-res.apk和twframework-res.apk提取出来,相信root过的,和会用re管理器的就不用我说怎么提取了!把framework-res.apk和twframework-res.apk放到(如图)
我系统是kph2.3.4的!那么我现在就可以在windows下搭建框架了!
进入CMD,操作如下图!
那么在windows下安装framework框架完成!搭建完成了!那么我们开始反编译Systemui.apk
反编:在cmd在输入apktool
d Systemui.apk 34 (34就是你将Systemui.apk反编出来的文件夹)E:\12\>apktool
d Systemui.apk 34
I: Baksmaling...test
I: Loading resource table...
I: Loaded.
I:loading resource table from C:\Documents and Settings\Administrator\apktool\framework\1.apk
I: Loaded.
I: Decoding
file-resources..
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...(成功)可以进行你的修改了! 解包完后再修改你想修改的就行,修改完后再回编。
回编:在cmd在输入apktool
b 34 (从文件夹34重建APK,输出到34)E:\12\>apktool
b 34
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...(回编成功!)
回编译成功后会在大写APK 文件夹里多个build文件夹我的是E:\12\APK\build在上面的build文件夹里有个小写英文的apk文件夹打开它E:\12\APK\build\apk里面有1个resources.arsc文件将它复制到E:\12下,用wrar软件打开E:\12
下的systemui.apk(还是原来那个)点选里面的resources.arsc文件然后在wrar软件菜单上选择添加 弹出的压缩模式对话框中E:\12下的resources 记得选择存储模式
确定后 退出wrar 把修改的systemui.apk 上传到手机卡中 用手机中的RE文件管理复制它替换掉system/app/systemui.apk,替换前用re管理器修改权限。