--
前记:此文用于总结记忆,方便使用
android studio3.0之前多渠道打包和自定义apk名字的设置:
1、manifest中增加节点
<!-- 多渠道打包 -->
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
2、app module的build.gradle的android中
android {
....
//多渠道打包
productFlavors {
yingyongbao {}
huawei {}
baidu {}
wandoujia {}
xiaomi {}
qh360 {}
vivo {}
meizu {}
oppo {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
//自定义打包时apk名字
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
// abc_渠道名_版本名.apk
def fileName = "laihui_${variant.productFlavors[0].name}_${defaultConfig.versionName}.apk"
output.outputFile = new File(output.outputFile.parent, fileName)
}
}
....
}
最后打包之后apk放在app文件夹下,apk名字:abc_渠道名_版本名.apk
android studio3.0之后多渠道打包和自定义apk名字的设置:
1、manifest中增加节点(和以前没有变化)
<!-- 多渠道打包 -->
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
2、app module的build.gradle的android中
android {
....
//多渠道打包
flavorDimensions "default"
productFlavors {
yingyongbao { dimension "default" }
huawei { dimension "default" }
baidu { dimension "default" }
wandoujia { dimension "default" }
xiaomi { dimension "default" }
qh360 { dimension "default" }
vivo { dimension "default" }
meizu { dimension "default" }
oppo { dimension "default" }
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
//自定义打包时apk名字
android.applicationVariants.all { variant ->
variant.outputs.all {
// abc_渠道名_版本名.apk 还可以拼接其他app内容:variant.versionCode variant.buildType.name
outputFileName = "abc_${variant.name}_${variant.versionName}.apk"
}
}
....
}
最后打包之后apk放在app文件夹对应的渠道文件夹下,apk名字:abc_渠道名_版本名.apk