尝试了用android studio中使用gradle打多渠道的程序包,果然如传说中那样神奇。本文中部分是参考Google上的内容,权当学习记录在这里吧
1、配置好AndroidManifest.xml中的渠道信息,这里以友盟统计为例吧
在 ... 节点中增加:
?
1
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"></meta-data>
注意这里,以往value中填写的就是渠道的名字,比如豌豆荚就可以填写wandoujia,但是在这里用${UMENG_CHANNEL_VALUE}替代,可以理解为一个变量,下面会用到的;
2、在对应打包程序的module中的build.gradle:
里面做如下修改: 在android{ ... }里面新增:
?
1
2
3
4
5
6
7
8
9
10
11
productFlavors{
wandoujia{}
qihu360{}
baidu{}
xiaomi{}
uc{}
productFlavors.all{
flavor->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
其中的wandoujia{}、qihu360{} ... ...这些就是需要的渠道名字,而这里的UMENG_CHANNEL_VALUE就是对于我们在AndroidManifest.xml中配置渠道信息的那个value,加好这些东西之后就构建一下项目:
成功后就下一步;
3、配置好gradle的环境变量,将gradle中的bin文件路径加入到path中;
4、那接下来如何签名打包呢? 选择Build->Generate Signed APK...
然后填写好签名密码之类的,然后可以看到这个:
全选Flavors那些选项,然后就finish。ok啦,在module的目录下就可以看到签完名的apk们,如图:
|
|