1、在清单文件 AndroidManifest.xml 中添加如下带
在 AndroidManifest.xml 文件 中 application 内 添加:
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
这个是在使用友盟统计时的一个代码示例,meta-data 中的 name 是可以更改的,根据实际需求如自己修。
2、在 build.gradle 进行配置
在 build.gradle 文件中 android 的 buildTypes 的 release 下添加:
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile !=
null && outputFile.name.endsWith(
'.apk')) {
// apk_渠道名-版本号-版本名称-编译时间.apk
def fileName =
"apk_${variant.productFlavors[
0].name}
-${defaultConfig.versionCode}
-${defaultConfig.versionName}
-${releaseTime()}
.apk"
output.outputFile =
new File(outputFile.parent, fileName)
}
}
} 完整代码:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(
'proguard-android.txt'),
'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile !=
null && outputFile.name.endsWith(
'.apk')) {
// apk_渠道名-版本号-版本名称-编译时间.apk
def fileName =
"apk_${variant.productFlavors[
0].name}
-${defaultConfig.versionCode}
-${defaultConfig.versionName}
-${releaseTime()}
.apk"
output.outputFile =
new File(outputFile.parent, fileName)
}
}
}
}
}
productFlavors {
qihu360 {}
// 360手机助手
yingyongbao {}
// 腾讯应用宝
wandoujia {}
// 豌豆荚
// baidu {} // 百度手机助手
// miui {} // 小米
// flyme {} // 魅族
// lenovo {} // 联想-乐商店
// oppo {} // Oppo-可可软件商店
// huawei {} // 华为
// vivo {} // vivo
// hiapk {} // 安卓市场
// sj91 {} // 91手机助手
// sogou {} // 搜狗手机市场
// sohu {} // 搜狐应用中心
// taobao {} // 淘宝手机助手
// gfan {} // 机锋
// appchina {} // 应用汇
// mumayi {} // 木蚂蚁
// wangyi163 {} // 网易应用
// nduoa {} // N多市场
// mm10086 {} // MM商城-中国移动
// wostore {} // WO商店
// youyi {} // 优异
// uc {} // UC+开发平台
// anzhi {} // 安智市场
// google {} // google play
// amazon {} // 亚马逊
}
productFlavors.all {
flavor -> flavor.
manifestPlaceholders = [
UMENG_CHANNEL_VALUE:
name]
}
}
def releaseTime() {
return new Date().format(
"yyyyMMdd", TimeZone.
getTimeZone(
"UTC"))
}
下面对配置文件简单说明一下:
我们看一下 meta-data 中 android:value="${UMENG_CHANNEL_VALUE}" 其中 ${UMENG_CHANNEL_VALUE} 是通配符,和 build.gradle 文件中 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"] 中的 UMENG_CHANNEL_VALUE 相对应。