安卓应用APK文件的解包打包和修改教程

2019-12-10 20:00:38丽君

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文件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。

解包批处理命令:

 

  1. for%%iin(*.apk)dojava-jarapktool.jard%%i_%%i&&move_%%iModifying_Files&©%%iBackuped_Raw_Files&&@echoFile[%%i]unpackingprocessiscompleted!   
  2. 打包和签名批处理命令:   
  3. for/d%%iin(*)docd..&&java-jarapktool.jarbModifying_Files%%i&&   
  4. java   
  5. -jar   
  6. signapk.jar   
  7. testkey.x509.pem   
  8. testkey.pk8   
  9. Modifying_Files%%idist*.apk%%i&&ren%%iNew%%i&&moveNew%%iModified_Signed_Files&&@echo%%iCompleterepackingandSigning!&&cdModifying_Files