Android

Android多渠道打包:友盟+美团walle+腾讯乐固

2021-01-13  本文已影响0人  小妖sc

多渠道打包主要是为了方便统计应用在各应用市场分布的情况,便于产品和运营做一些针对应的产品运营推广方案。但是在使用多渠道打包的时候,衍生除了一系列的问题:

  1. 原生的打包方式比较繁琐,每次打包都需要花费大量时间;
  2. 现在为了产品的安全一般都会对应用进行加固,防止应用“裸奔”,如果进行加固的话会导致渠道信息丢失;
  3. 一般为了防止线上出现紧急的bug,会使用一些热修复的插件,这也为多渠道打包增加了一点点难度。
    针对上述问题,本文提供了一种解决方式。

一、打包方式(美团walle

walle 有两种打包方式
1.通过gradle进行集成(可参考另一篇文章)
2.通过命令行使用(命令行wiki,此方法跟gradle配合使用,可实现一键出包,后续会更新)

二、加固方式

1. 360 加固

(2)、根据您的电脑型号选择要下载的加固版本:


这里写图片描述

(3)、下载后解压完成如图:


这里写图片描述

(4)、点击加固助手打开后我们只需要关注两项就可以了:


这里写图片描述

(5)、直接进行无签名加固,即可获取加固后的包

2. 腾讯乐固

360 加固以后会注入一些360 的广告,而且加固以后,只适用于360平台,兼容性方面需要考虑,所以建议使用腾讯的乐固(谨代表个人建议)

三、walle生成渠道包

前面提到过,如果使用walle生成渠道包,那么加固以后渠道信息就丢失了,所以推荐使用ProtectedApkResignerForWalle。ProtectedApkResignerForWalle是用于解决walle产生的加固问题,用的是walle的打包CLI。多渠道打包时,先加固,然后把未签名的apk使用此脚本进行多渠道打包即可。
1、需要准备python 环境(mac 自带python2.x版本和3.x版本,window需要单独配置)
2、按照config.py文件中的注释改成自己项目配置(需要注意的是sdkBuildToolPath所对应的版本要高于25.0)


image.png

3、将已经加固好的包(未签名的包)放到脚本工具根目录下,即xxx.apk


image.png
4、各种渠道的定义是在channel这个文件中,请根据项目情况修改
image.png

5、运行命令 python ApkResigner.py,即可自动生成所有渠道包。


image.png

附上一张成功以后的图


image.png
6、生成的渠道包在对应指定的文件夹下

参考文献 一步解决应用加固导致Walle渠道信息失效的自动化脚本工具

上一篇 下一篇

猜你喜欢

热点阅读