让我们感谢开源社区的分享精神。
然后默默的开始:

1、今天我们来解决一个问题:gradle进行多渠道打包比较慢。
拿题主的亲身经历来看:一个包平均差不多2分钟的情况下,android有这么多的渠道,假设有15个,那岂不是要花费30分钟去打包了么,如果打包的时候版本号啥的落下没有改,恭喜你再次打包是不是会令人绝望。

2、在进入正题之前,我先把自己工程的背景交代清楚,以下是题主的情况:
需要Umeng的多渠道统计,
Umeng App应用统计的SDK集成
重点在于初始化方法我这里截几张图看看
AndroidStudio多渠道打包的方案

需要注意的是清单文件配置会允许我们代码设置渠道传入为null,所以最好把远古项目中的清单配置的APPKEY和Channel注释掉比较保险,详情AndroidStudio多渠道打包的方案

然后交代完背景之后我要开始我的baidu工作了

3、在看了很多家的优秀作品了之后,我决定讲一下最好用的2个作品。
1)来自美团点评的walle开源项目 下面的是链接
Android Signature V2 Scheme签名下的新一代渠道包打包神器
2)来自360小哥的mcxiaoke的开源项目 下面是链接
下一代Android打包工具,100个渠道包只需要10秒钟
先把开源项目交出来,喜欢深究的同学或者我写的不明白的地方可以直接去官方用法,很详细的哦,我这边也算是简化版

4、那先说说美团的walle,我就截图演示了具体可以看开源项目,用途不止这一点,但是今天解决的问题就这么点。
步骤1、在工程Project的buildgradle 看图中的位置添加瓦力的支持
AndroidStudio多渠道打包的方案
步骤2、在本moudel下的buildgradle下面添加 apply plugin: ‘walle’
AndroidStudio多渠道打包的方案
步骤3、在本moudel下的buildgradle里面的dependencies 加入圈中内容
AndroidStudio多渠道打包的方案
步骤4、在本moudel下的buildgradle下面 添加walle内容 walle在最外层没有花括号包裹的
AndroidStudio多渠道打包的方案
步骤5、在application的onCreate里面加入walle取到的渠道号,赋值给Umeng统计方法即可
AndroidStudio多渠道打包的方案
步骤6、值得注意的是远古工程的buildgradle里面有Flavors这些原来的配置可以删掉了,因为目前的工作就是以前为了多渠道而作的代替,
不删掉是不能运行最后的命令行的 因为找不到名字
AndroidStudio多渠道打包的方案

步骤7、做完上面的还要一个channel文件,在app目录下生成,里面填写渠道号即可,在做完上面的所有事情之后可以查看右边gradle app目录下的package里面有2个类型,详情看图
AndroidStudio多渠道打包的方案

步骤8:在Terminal命令行输入 gradlew clean assembleReleaseChannels
即可,这是windows的操作系统

另外注意的是channel文件对应步骤4中的walle内容中的渠道配置,反正你改名字后缀什么的记得改配置,不然找不到文件。

篇幅有点长,另外一个我留下一篇文章吧!!!待会这里加个链接
下一篇地址

相关文章: