去友盟申请app的key 然后在menifest里面注册如下
<!--集成友盟-->
<meta-data
android:name="UMENG_APPKEY"
android:value="your key"/>
<meta-data
android:name="UMENG_CHANNEL"
android:value="Umeng"/>
然后在gradle的android模块里面写入如下代码
productFlavors{
xiaomi{}
huawei{}
baidu{}
wandoujia{}
yingyongbao{}
}
productFlavors.all {
flavors -> flavors.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
如果需要对每个不同渠道的app自定义命名,需要在release里面写入如下代码
applicationVariants.all { variant->
variant.outputs.all{ output->
def outputFile = output.outputFile
if (outputFile!=null && outputFile.name.endsWith(".apk")){
// outputFile.name = "AndroidDemo_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
// studio 3.0 以后outputFile.name为只读属性,需要改为如下写法
outputFileName = "AndroidDemo_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
}
}
}
如果studio是3.0以上的,不要忘了写上下面这句,否则会报错flavorDimensions issure 导致编译不通过。
android {
compileSdkVersion 24
.....
flavorDimensions "versionCode"
}