FB LIKE JACKER

编译和反编译apk文件

2011 年Feb月 26 日由 发布 | 类别: 其他 | Tags:

所有的XDA已经发布了APKtool项目,它可以帮助大家更容易地编辑apk文件,尤其是xml文件的编辑。大家在使用其他项目(比如Smali,hex editor等)之前不得不要做同样的事情。计划发布的版本准备加入反编译到JavaBeans/Eclipse格式的功能等,很爽吧?!

程序下载和使用方法:APKTool 1.2

安装方法:
使用之前,需要先从上面的地址下载apktool-1.2.0.tar.bz2和apktool-install-windows-2.2-r01-1.tar.bz2,然后将他们解压到文件夹中。

使用方法:
反编译apk文件:
apktool d

编译apk文件
apktool b
*编译之后的apk文件会自动保存到名为dist的子问目录中,这个子目录相对于你选择编译的当前目录而言。

输出结构:
Smali 目录:classes.dex的输出,apk的代码
Res 目录:所有的资源,包括图片、布局和结构的xml文件
Lib 目录:共享的库文件
Dist 目录:“apktool b”命令之后输出文件的位置,如果不运行这个目录不会生成。
Build 目录:“apktool b”命令编译的输出,就像仅仅使用7zip解压一个apk文件一样。如果不运行,这个目录不会生成。

说明:
一旦编辑完一个apk文件之后,必须要签名!我使用XDA修改的脚本Dave Da illest 1来签名。放入apk文件,此时这个apk文件应该是这个文件夹内唯一的apk文件了,解压自动签名文件的同一个目录下,运行sign.bat。这个脚本会输出命名方式为your_app_signed.apk文件,这个文件就签名完毕了,可以在手机中安装了。
如果你想编译和反编译一个apk文件没有classes.dex,如framework-res.apk,只需要放置任何classes.dex文件到apk中,然后他会反编译。如果不这样做,apktool会报错。只要记得在签名之前移除classes.dex就可以了。

视频:
使用APKtool编辑apk文件:
http://www.youtube.com/watch?v=XXgYVHTcl6c 【需要翻越,不解释】

使用APKtool编辑jar文件:
http://www.youtube.com/watch?v=VAekeWiqHcY 【需要翻越,不解释】

为什么要编译和反编译?
汉化
定制主题
添加或者精简功能
给你的朋友或者家人留下一个印象
等等

另:
我注意到新版1.2用来编辑framework-res.apk文件非常给力,但是貌似编辑系统文件如Settings.apk,Phone.apk还有问题。修改这些文件请使用1.1.1版本。

希望这篇文章对大家有所帮助。

 

« [2.2.1 for HTC Hero] Elelinux-6.2.0-RC0-Hero-Speedmachine
和Hero有关的常用Git源 »

About tangzhihui

» has written 311 posts

锋客的朋友们

  • 少数派
  • 煮机网

签订契约成为机油吧!

Buy me a coffee~ ;-)

Buy me a coffee~ ;-)
閃開│讓專業的來 沒辦法│我這個人就是太正直了