在Android的开发测试过程中,为了替换assets文件或者更改smail文件,需要把apk拆开。这个过程用到apktool和jarsigner。其中apktool需要自己安装;jarsigner是jdk自带的,也就是说需要java开发环境。
apktool安装地址:https://ibotpeaches.github.io/Apktool/
如果你使用mac系统,可以使用homebrew安装。
brew install apktool
其他系统参照官方方法:https://ibotpeaches.github.io/Apktool/install/
使用方法:
拆包:
apktool d [apk路径]
封包:
apktool b [拆包产生的文件夹]
拆包使用apktool d
指令,执行完成之后生成同名目录,封包使用apktool b
指令,此时生成apk文件,但是这个apk是未签名的。不能对手机上已经安装的apk进行替换,下面进行签名。jarsigner是jdk自带,不需要额外安装。
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystore路径] -storepass [密码] -signedjar [输出apk路径] [输入apk路径] [别名]
不同的apk签名可能不相同,使用 jarsigner —help 查看使用规则,现在的jdk都是兼容中文的,不用担心看不懂。