安卓多渠道高效打包总结

2018-08-20  本文已影响43人  CROAD

最近接手的项目都需要多渠道打包,有七八个渠道。使用android studio 原生productFlavors和友盟设置多渠道id打包非常慢,是二三十分钟。目前使用过的多渠道打包方式,按教程操作接入项目就可以,但有些坑,文档不会提到的,总结如下:

1. 第三方sdk

legujieshao_06.png

官方地址

1638147-e71aa7e5a60dbda5.png

2. 使用插件

注意:使用此方式,按文档接入,需要注释主模块builde.gradle下的原有多渠道打包方式,如:productFlavors,原文档未提。在当前app的build.gradle 文件中添加依赖,以及配置wallet插件,这里有一个不得不说的梗,原文档配置使用的插件 // 渠道配置文件

channelFile = new File("${project.getProjectDir()}/channel"), 报错找不到channel文件。正确配置如下图:

`4B1`UXQV%AXZ5W~N_O)4GD.png

获取渠道信息
通过以下代码,可以取渠道信息

String channel = WalleChannelReader.getChannel(this.getApplicationContext());

将渠道号在application中添加到友盟统计工具中,
多渠道打包命令行:./gradlew clean assembleReleaseChannels ,
winodw 需要去掉./,

原文档配置使用的插件 // 渠道配置文件

channelFile = new File(project.rootDir, "channel.txt")
出现报错,gradle编译失败,

正确配置渠道插件路径:

channelFile = new File("${project.getProjectDir()}/channel.txt")

代码中读取渠道
// 如果没有找到渠道信息或遇到错误,默认返回的是""
// com.mcxiaoke.packer.helper.PackerNg
String channel = PackerNg.getChannel(Context)

个人觉得Walle多渠道打包要快些,也支持apk加固后在批量打包

上一篇 下一篇

猜你喜欢

热点阅读