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

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

  1. 原生的打包方式比较繁琐,每次打包都需要花费大量时间;
  2. 现在为了产品的安全一般都会对应用进行加固,防止应用“裸奔”,如果进行加固的话会导致渠道信息丢失;
  3. 一般为了防止线上出现紧急的bug,会使用一些热修复的插件,这也为多渠道打包增加了一点点难度。
    针对上述问题,本文提供了一种解决方式。
  • 先打出正式包,如果集成了Thinker,可以使用期bakApk 下的基准包;(Tinker集成)
  • 这时候先进行加固(需要注意的是:这个加固包是不包含签名的加固包)
  • 签名需要使用特殊的签名方式,其中包含自动生成渠道包

一、打包方式(美团walle)

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

二、加固方式

1. 360 加固

  • 首先,需要准备对应的apk文件
  • 其次,然后去 360加固网站 下载加固软件。
    (1)、点击如图选项:
    这里写图片描述

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


这里写图片描述

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


这里写图片描述

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


这里写图片描述

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

2. 腾讯乐固

  • 下载乐固工具,链接:https://pan.baidu.com/s/1oTgXXTu99PYkFCDsRVDgLA 提取码:3w6t
    官网已经不支持下载了,所以我分享了一个网盘的链接,也可以直接在腾讯云官网进行加固,然后下载
  • QQ或者微信登录,去获取云API秘钥,然后登录即可


    image.png
  • 去选取自己的apk,然后选择无签名,进行加固,即可获取加固后的包


    image.png

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渠道信息失效的自动化脚本工具

你可能感兴趣的:(Android多渠道打包:友盟+美团walle+腾讯乐固)