AndroidManifest.xml
<meta-data
android:name="MTA_CHANNEL"
android:value="${MTA_CHANNEL_VALUE}"/>
build.gradle
flavorDimensions 'channel'
productFlavors {
baidu {
manifestPlaceholders = [MTA_CHANNEL_VALUE:'baidu']
}
wandoujia {
manifestPlaceholders = [MTA_CHANNEL_VALUE:'wandoujia']
}
xiaomi {
manifestPlaceholders = [MTA_CHANNEL_VALUE:'xiaomi']
}
}
// 构建包名称
applicationVariants.all { variant ->
variant.outputs.each {output ->
if(variant.buildType.name.equals('release')) {
def fileName = "Demo_${variant.productFlavors[0].name}_${defaultConfig.versionName}.apk"
output.outputFileName = fileName
}
}
}
获取渠道信息
// 获取渠道信息
try {
ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
String channel = applicationInfo.metaData.getString("MTA_CHANNEL");
System.out.println("channel="+channel);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}