公司的多渠道打包方案采用的是美团Walle,适用于Android 7.0(Nougat)推出的APK Signature Scheme v2应用签名方案。在上传apk包时,某些应用市场中要求应用加固,比如360和应用宝。在加固应用时,会导致渠道信息的丢失。所以使用walle打包360渠道应用时候,要先加固并签名应用,然后使用walle写入渠道信息。
流程如下:
1. 加固并签名文件
360加固提供了官方的加固工具360加固助手,工具会自动完成加固并签名的工作。工具如下图所示:
本文demo中原来的apk名为app-product-release.apk。加固后的apk名为app-product-release_10_jiagu_sign.apk。
2. 用walle写入渠道信息
在此,我们用walle提供的命令行工具walle-cli-all.jar为加固后的应用单独写入渠道信息。
- 下载walle-cli-all.jar,放入和app-product-release_10_jiagu_sign.apk同一个文件夹;
- 打开cmd.exe,切换到加固后apk所在的目录,执行命令
java -jar walle-cli-all.jar put -c 360 /Users/360加固/app-product-release_10_jiagu_sign.apk
(-c代表channelList,渠道列表信息,我们这里只增加了360渠道) - 至此,我们就在360加固apk包中写入了应用渠道信息。在demo中将渠道信息显示出来,如下图所示: