相关博客:
http://www.cnblogs.com/0616–ataozhijia/p/4203997.html
http://blog.csdn.net/maosidiaoxian/article/details/42000913
大家一起来看看这样一个需求:项目需要打包成有支付功能的和没有支付功能的。肯定就会想到多渠道打包,想到多渠道打包自然就会用到Umeng
的多渠道打包,那么在渠道下面又怎么实现功能控制呢?于是我就想啊….xxx于是乎,我有了这样一个思路。
在你的gradle中加入:
compile 'com.umeng.analytics:analytics:latest.integration'
首先你必须在AndroidManifest.xml
中的meta-data
修改以下的样子:‘
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
这里的Android:name
你可以随意命名,如android:name="KOOL_POS"
。android:value
的值就多个${}
,如android:value="${KOOL_POS_VALUE}"
。
然后在你项目的gradle
中添加多渠道:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
推荐做法:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
为啥要加applicationId
呢,是为了防止多渠道打包不会覆盖安装。
记得添加:
- 1
- 2
- 3
- 1
- 2
- 3
注意你需要打baidu
的包,请把name
改成"baidu"
。如:flavor.manifestPlaceholders = [KOOL_POS_VALUE: "baidu"]
,其他的同理。
最关键的一步,既然我们在AndroidManifest.xml
中配置了meta-data
,那么就可以在Java
代码中获取meta-data
信息,就可以知道是打谁的包呢。
如:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18