Walle
是 APK Signature Scheme v2
下新的多渠道打包方案,速度快,也支持 360 加固,下面是本文相关链接。
Android Signature V2 Scheme 介绍
使用 Walle
参考 GitHub-Walle
进行配置,下面是项目最基本的配置,更多的使用方法参照 Meituan-Dianping/Walle README
1 | buildscript { |
生成渠道包
1 | ./gradlew clean assembleReleaseChannels |
360 加固 + 多渠道打包
使用 360 加固网页版 上传 apk,加固完成后下载没有签名的 apk。
对齐优化
对下载的 apk 使用 apkalign
工具进行对齐优化,zipalign
工具位于 Android SDK/build-tools/25.x.x
下。
1 | zipalign -v 4 [源apk地址] [目标apk地址] |
对齐完成后,对 apk 进行检测是否对齐成功。
1 | zipalign -c -v 4 [目标apk地址] |
二次签名
对齐成功后,使用 apksigner
工具对 apk 进行签名,apksigner
也位于 Android SDK/build-tools/25.x.x
下,但是版本需要在 25.x.x
以上,才能支持 v2
签名。
1 | apksigner sign --ks [密钥地址] [apk 地址] |
渠道写入
签名完成后,检测是否签名成功和是否是 v2
签名,检查需要使用 CheckAndroidV2Signature.jar
文件,下载地址
1 | java -jar CheckAndroidV2Signature.jar [apk 地址] |
将会返回类似下面的结果
1 | {"ret":0,"msg":"ok","isV2":true,"isV2OK":true} |
使用 Walle
写入渠道信息,需要借助 walle-cli-all.jar
来执行,下载地址
这一块更多的可以参照 Walle 命令行使用
1 | java -jar walle-cli-all.jar put -c [渠道名称] [源 apk 地址] [目标 apk 地址] |
同样也支持多渠道同时打包
1 | java -jar walle-cli-all.jar batch -f [channel文件] [签名后的apk路径] [生成渠道app的文件夹路径] |
最后检查渠道是否写入成功
1 | java -jar walle-cli-all.jar show [apk路径] |