1)APKtool软件包
APKtool软件包有2个程序组成:apktool.jar和aapt.exe另外提供一个批处理文件:apktool.bat,其内容为:java-jar"%~dp0apktool.jar"%1%2%3%4%5%6%7%8%9
运行apktools.jar需要java环境(1.6.0版本以上)。apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。2)APK文件的解包
下面以解开Contacts.apk为例。首先把Contacts.apk复制到当前工作目录下(例:Test)。在DOS下打入命令apktooldContacts.apkABC
这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。3)APK文件的打包在DOS下打入命令
apktoolbABCNew-Contacts.apk这里“b”表示要打包
ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。
New-Contacts.apk是打包后产生的新的APK文件。4)Framework框架文件
在解开APK文件时,apktool需要框架文件(framework-res.apk)来解码和打包。Apktool已经包含了标准的框架,所以在大多数APK文件的解包时,不需要另外提供框架文件。但是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件(framework-res.apk)提取出来,然后安装到计算机。安装命令是:
apktoolifframework-res.apk
安装后就会得到:~apktoolframework1.apk5)解包、解包和签名批处理
在实际使用时,可能对多个APK文件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。
解包批处理命令:
- for%%iin(*.apk)dojava-jarapktool.jard%%i_%%i&&move_%%iModifying_Files&©%%iBackuped_Raw_Files&&@echoFile[%%i]unpackingprocessiscompleted!
- 打包和签名批处理命令:
- for/d%%iin(*)docd..&&java-jarapktool.jarbModifying_Files%%i&&
- java
- -jar
- signapk.jar
- testkey.x509.pem
- testkey.pk8
- Modifying_Files%%idist*.apk%%i&&ren%%iNew%%i&&moveNew%%iModified_Signed_Files&&@echo%%iCompleterepackingandSigning!&&cdModifying_Files










