刚刷了自己的小U(下次分享刷机经验),准备美化一下系统,这时需要对framework-res.apk进行编译和反编译,我也是边学习边实践,这里仅作分享。

1、安装Java环境JDK ↑

Android是基于Linux的,而要在安卓上开发,基本上依靠Java为主。因为我们接下来要用到apktool,因此必须安装JDK。注意,JDK和Java环境不同,JDK是开发工具,你可以直接在Java官网下载,并能找到安装路径。

要让Java工作,你必须先设置环境变量:

返回桌面,在桌面鼠标右键“我的电脑”或“计算机”;选择“属性”;WIN7中选择左侧的“高级系统设置”;点击“环境变量(N)..”按钮;在下面一个配置框中添加一个

变量名:JAVA_HOME

变量值:C:\Program Files (x86)\Java\jdk1.7.0_01 (这是我电脑上的状况,你必须根据你自己的实际情况)

除此之外,还需要配置两个环境变量:

Path=.....%JAVA_HOME%\bin;....

classpath=....%JAVA_HOME%\lib;.....

关于环境变量的配置请搜索学习,总之只有经过正确配置之后后面的开发动作才能正常执行。

2、获取"framework-res.apk"和"systemUI.apk" ↑

"framework-res.apk"和"systemUI.apk"这两个文件是系统UI的主要文件,当然,由于安卓系统分支很多,他们的名称和位置都不一定,一般而言在手机安卓系统的 /system/framework 和 /system/app目录下,你需要使用RE文件管理器将它们拷贝出来。

3、获取ApkTool编译开发工具 ↑

这个工具在google code上下载最新的,不过由于它们是分开存放的,你需要下载windows版本全部,下载下来之后解压,最后你应该能得到三个文件:aapt.exe、apktool.bat、apktool.jar。在这种情况下,你就可以进行编译反编译了。我把它们这样放置:

C:\apktool

4、进行反编译和编译 ↑

美化工作的道理很简单:

反编译:解压出apk中的所有资源,包括文件和图片

修改解压出来的资源,将所有资源调整为自己想要表现的形式(图片和xml)

编译:将经过调整的资源编译回去

签名:将编译回去的apk通过技术手段进行签名,这样才能在安卓系统中使用

虽然道理很简单,但要实现每一条都很困难。由于篇幅的限制,我们就不一一去解释,下面有一些资源可以借鉴参考。

http://bbs.gfan.com/android-3894436-1-1.html

http://bbs.anzhuo.cn/thread-156429-1-1.html

http://zhangyan1158.blog.51cto.com/2487362/683234

http://bbs.angeeks.com/thread-2152286-1-1.html

http://www.anzhuo2.com/thread-1240-1-2.html

http://www.fengbao.com/baike/doc-view-500.html

http://bbs.hiapk.com/thread-3192899-1-1.html

http://wenku.baidu.com/view/9b22a1c48bd63186bcebbcec.html

http://blog.csdn.net/pugongying1988/article/details/6938972

http://my.eoe.cn/guoyuanzhuang/archive/3426.html

通过上文的学习,我相信你已经对apktool反编译apk来实现美化安卓系统有一个大致的了解。由于安卓内部的编程不是我的强项,其中所使用的技术也很复杂,所以这里只能起到一个抛砖引玉的作用。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐