gradle多渠道打包

来源:互联网 发布:centos将man改为中文 编辑:程序博客网 时间:2024/06/03 16:31
1,首先,按照umeng的要求,manifest文件中需要有
<meta-dataandroid:name="UMENG_CHANNEL" 
android:value="${UMENG_CHANNEL_VALUE}"/>
这段配置,value那里就是wandoujia,360之类的渠道名称,但是我们在这里不会去写渠道名,写的是一个占位符,后面gradle编译的时候会动态的替换掉它。
2,在module(一般也就是app)的build.gradle中添加如下内容:
productFlavors { 
xiaomi 
{ manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } 

yingyongbao 
{ manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"] } 

_360 
{ manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"] } 
}
 
productFlavors是android节点的一个自节点。你需要打什么渠道的包,就在这里按umeng的要求把渠道名写到UMENG_CHANNEL_VALUE后面。
3.这个时候去工程的根目录,也就是有gradlew文件的目录,打开命令行,输入命令:
./gradlew assemble
这时候你去app/build/outputs/apk中就能看到自动打好的渠道包了。附送几条命令:
./gradlew assembleRelease
只打Release包
./gradlew assembleDebug
只打Debug包
./gradlew assemble_360
只打360的渠道包
./gradlew assemble_360Release
只打360的release渠道包 打凶
0 0