上篇文章点击打开链接,已经讲解了 gradle动态配置,下面我们说下怎么快速的打多渠道包。
之前项目中运用的是gradle配置productFlavors去打多渠道包,这种方式的缺点,有用到的都知道,效率很慢,基本上打10个包 10分钟要的吧? 难道下次CP让增加渠道到50个。那怎么打,1小时。。。
还好,很早美团就提出了一个极速的的打包方案。下面我就介绍下美团的打包怎么去做:
其原理步骤:
1.利用命令去生成一个空文件,以渠道号名命名。
2.解压apk,在META-INF下增加生成好的空文件。
3.在项目代码中解压,动态获取空文件的渠道名。
具体的实施步骤:参考https://github.com/GavinCT/AndroidMultiChannelBuildTool
1.配置python环境
没有下载python的可以去官网下载:https://www.python.org/ ,下载完后配置下环境变量(会java应该都知道)。
2.https://github.com/GavinCT/AndroidMultiChannelBuildTool download下来
JavaUtil 下的ChannelUtil.java 拷贝到自己的项目下,已TD为例在代码中调用:
TCAgent.init(this,BuildConfig.TD_ID, ChannelUtil.getChannel(this,"baidu"));
用友盟统计的,也是有同样的代码去获取。
3.在下载好的PythonTool下有个info/channel.txt ,里面就是自己定义的渠道号,修改成项目中需要的。
4.把生成的包,复制到PythonTool同一级目录下,执行MultiChannelBuildTool.py 。
站在巨人的肩膀上,美团极速打包方案就是这么简单,赶紧试试吧!
文章来自于对https://github.com/GavinCT/AndroidMultiChannelBuildTool实践理解。
上篇:Android 一站式打包(一)gradle 动态配置多环境