一款apk签名、压缩、修改资源的工具,可用于生成渠道包,提供bat和shell命令
利用7z压缩、修改apk,再用apksigner重新签名
用命令 sign xxx.apk 对apk签名
用命令 compress xxx.apk 压缩apk
用命令 add_channel xxx.apk 修改apk的资源
以上功能可以分开、组合使用
配置android sdk环境变量,能在命令行找到adb命令,使用shell命令需要能找到7z命令
修改sign或sign.bat里的如下变量
set keyPath=%oPath%key 签名用的密钥的绝对路径(直接复制到apktools目录改名为key,这行就不用管了)
set alias=alias1 密钥别名
set storePass=000000 密钥库密码
set aliasPass=111111 别名密码
set buildTool=28.0.3 buildTool版本(最好和你工程的一样,并且只支持25及以上)
在channels文件夹下,每个渠道一个文件夹,里面放需要替换的资源文件,
路径必须和apk直接解压(不是反编译)后得到的资源路径一致,
比如splash.jpg在工程中是在res\mipmap-xxhdpi里,
而release包解压后splash.jpg在res\mipmap-xxhdpi-v4里,
那么渠道文件夹里的splash.jpg也该放在res\mipmap-xxhdpi-v4里
渠道名放在assets\channel 在代码里使用ChannelUtils.getChannel()获取
- 签名同时采用v1和v2,兼容新旧android版本,并进行了zipalign
- compress命令和add_channel命令依赖于sign命令,压缩和修改资源和会自动进行签名
- 修改资源后的apk在apktools\outputs里
- demo工程生成的app-release.apk已放在apktools目录下,是默认的splash和渠道,
对其应用相关功能并安装后观察apk的大小、splash和渠道名称的变化 - 压缩率取决于apk里的文件,可高可低
- 理论上可以替换可见的任意资源,更多用法请自行探索