apk 拆包替换文件

在 Android 的开发测试过程中,为了替换 assets 文件或者更改 smail 文件,需要把 apk 拆开。这个过程用到 apktool 和 jarsigner。其中 apktool 需要自己安装;jarsigner 是 jdk 自带的,也就是说需要 java 开发环境。

apktool 安装地址:https://ibotpeaches.github.io/Apktool/

如果你使用 mac 系统,可以使用 homebrew 安装。

1
brew install apktool

其他系统参照官方方法:https://ibotpeaches.github.io/Apktool/install/

使用方法:

1
2
3
4
5
拆包:
apktool d [apk路径]

封包:
apktool b [拆包产生的文件夹]

拆包使用apktool d 指令,执行完成之后生成同名目录,封包使用apktool b指令,此时生成 apk 文件,但是这个 apk 是未签名的。不能对手机上已经安装的 apk 进行替换,下面进行签名。jarsigner 是 jdk 自带,不需要额外安装。

1
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystore路径] -storepass [密码] -signedjar [输出apk路径] [输入apk路径] [别名]

不同的 apk 签名可能不相同,使用 jarsigner —help 查看使用规则,现在的 jdk 都是兼容中文的,不用担心看不懂。


 Gitalk评论