前言
什么是多渠道打包,我是这么理解:就是将一个应用打成多个包,代码都一样,但是有个不同的标识去标记每一个包
目的:当应用程序包上架到不同的应用市场之后,可以准确的分析的不同市场的下载量,使用量等
正文
一般用渠道的统计无非是用友盟或者其它之类的,今天就以友盟的为例吧!
首先你必须在AndroidManifest.xml中的meta-data修改以下的样子:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
然后在app包下的build.gradle里的android{}下
wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] }
baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]}
c360 {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]}
uc {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]}
}```
还有一种比较简洁的写法如下:
```productFlavors {
xiaomi {}
_360 {}
baidu {}
wandoujia {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}```
其中`[UMENG_CHANNEL_VALUE: "wandoujia"]`就是对应`${UMENG_CHANNEL_VALUE}`的值
一会说那个的xiaomi、-360名字为自己定义
# 一次生成所有渠道包:
在android studio底栏中有个命令行工具Terminal
运行:`gradlew assembleRelease`
如果只想生成单个渠道包:
运行:`gradle assembleWandoujiaRelease`
这样便会在项目目录下生成不同渠道的apk包,就可以拿着这些包上架到不同的应用市场,通过友盟的后台来查看应用的统计信息。
具体的友盟统计的集成可以参考官方文档:
`http://dev.umeng.com/analytics/android-doc/integration`