正式说明apk工具的逆编译。 如果有不好写的地方,请谅解我第一次写教程。
正文
1 .首先安装需要JAVA环境。 首先下载JDK/JRE。 如果已经有JAVA环境,请跳过此步骤
Java JDK:http://www.Oracle.com/tech network/Java se/downloads/JDK-6u 25-download-346242.html
Java JRE:http://www.Oracle.com/tech network/Java se/downloads/JRE-7u1- download-513652.htmlt $ u! w! [/K
还必须设置JAVA环境变量
CLASSPATH . %JAVA_HOME%libdt.jar; %JAVA_HOME%libtools.jar
Java_homec :program filesJavaJDK1.6.0_ 10说明Java _ home表示JDK的安装路径是刚才安装时选择的路径
Path %JAVA_HOME%jmdcg; %JAVA_HOME%jrejmdcg
配置环境变量后,我们可以反编译。 (如果有不明白的地方,有两种方法。 1、请告诉我。 2在论坛上查找如何设置JAVA环境变量。 )
反编译使用反编译工具。 网上有很多。 有apk工具、Doapk和apk管理。 ……,你们可以自由下载。 不提供地址。 请自己搜索一下。 您可以访问百度,也可以访问论坛,但apk工具必须包含一些内容
下载反编译工具后,检查安装是否成功,单击“开始”菜单,运行,然后输入CMD回车
点击返回出现
键入,APKTOOl,然后键入APKTOOl,看厌了要将APKTOOl安装在哪个磁盘上。 例如,在我的情况下,安装在d磁盘的apk工具文件下,首先在cmd下输入d :输入CD apk工具,导航到apk工具文件夹下,然后输入apk工具,反应如下:
表示你安装成功,可以进行APK的反向编译。 以下是反向编译SystemUI.apk的示例。
首先我知道一些指令的意思
1,apktool d SysteUI.apk 12意味着将SystemUI.apk解压缩到12个文件之下,12个文件夹不创建而自动生成
2,APKtool b 12包12文件夹(取消包12个文件夹中的修改后的apk,修改后自动打包,生成resources.arsc,文件。 这是我们反编译的主要目的。 当然也有其他目的。 稍后,我们将介绍apk工具需要如何进行反向编译,以及生成的文件。
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置于文件目录下。 apktooliftwframework-RES.apk (tw框架- RES.apk ) tw
这句话很重要。 否则,解开包会发生以下问题。
这也是我曾经遇到的问题。 我怀疑了很久,终于找到了原因。
当然也有人会遇到
APK在反向编译美化的图像时可能会发生错误
然后,如果将官方APK的drawable-hdpi文件复盖到您尝试打包的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打包编译的文件夹,编译完成后产生12buildapk 文件夹,找改动后的文件替换到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和systemuireslayoutstatus_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 SettingsAdministratorapktoolframework1.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:12APKbuild在上面的build文件夹里有个小写英文的apk文件夹打开它E:12APKbuildapk里面有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管理器修改权限。