最近遇到一个这样的问题,就是想修改第三方提供的apk中的 AndroidManifest.xml 文件, 自然想起原先玩过的apktool工具,现在将具体操作总结如下:
1. 相关工具的下载:
AutoSign :
http://d.download.csdn.net/down/2768910/fjfdszj
Apktool
http://code.google.com/p/android-apktool/downloads/list (下载操作请参考:http://code.google.com/p/android-apktool/)
2.具体修改AndroidManifest.xml 文件的步骤如下:
a. 将下载的工具解压到同一个目录这里假设为apktool$,并且将要修改的apk 放在该目录这里假设为xxx.apk
$ ls
aapt apktool apktool.jar libhgl.so README signapk.jar Sign.bat testkey.pk8 testkey.x509.pem xxx.apk
b. 使用apktool 工具 decode xxx.apk,将产生xxx目录,里面包含AndroidManifest.xml 文件,打开该文件修改该文件
$ ./apktool d xxx.apk
$ls
aapt apktool apktool.jar libhgl.so README signapk.jar Sign.bat testkey.pk8 testkey.x509.pem xxx.apk xxx
$vim ./xxx/AndroidManifest.xml
c. 重新将xxx目录打包成apk,这里生成的apk 是没有签名的,在使用adb install 该apk会出现Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 错误。
$ ./apktool b xxx xxx1.apk
d. 对新产生的xxx1.apk 进行签名,在签名之前,请将原生的xxx.apk 更改为其他名字 或删除。
$mv xxx.apk xxx2.apk
$ java -jar signapk.jar testkey.x509.pem testkey.pk8 xxx1.apk xxx.apk
e.安装apk看结果。
$adb install -r xxx.apk
参考同事的博文: