productFlavors配置渠道
android {
productFlavors {
huawei {
manifestPlaceholders = [
// APP 名称
APP_NAME : "@string/app_name",
// APP ICON
APP_ICON : "@drawable/app_icon",
// 渠道标识
CHANNEL : name,
// 客户端ID
CLIENTID : rootProject.ext.COMMON_CLIENTID,
// 客户点SECRET
CLIENTSECRET: rootProject.ext.COMMON_CLIENTSECRET,
// 获取域名的CDN
BASEURL_CDN : rootProject.ext.COMMON_BASEURL_CDN,
]
}
}
}
// 渠道的资源信息
android {
sourceSets {
main {
huawei {
res.srcDirs = ['src/channel/huawei/res']
manifest.srcFile 'src/channel/huawei/AndroidManifest.xml'
}
}
}
}
打包构建配置
release
android {
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.all {
def flavorFlag = "${variant.productFlavors.get(0).name}"
def fileName
def date = new Date()
def formattedDate = date.format("yyyy-MM-dd-HH-mm-ss-SSS")
if (variant.buildType.name.equals('release')) {
fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_release_${formattedDate}.apk"
} else if (variant.buildType.name.equals('debug')) {
fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_debug_${formattedDate}.apk"
}
outputFileName = fileName
}
}
signingConfig signingConfigs.release
}
}
}
debug
android {
buildTypes {
debug {
debuggable true // debug模式下,显示log
versionNameSuffix "-debug"// 为版本名添加后缀
minifyEnabled false
zipAlignEnabled false
shrinkResources false
applicationVariants.all { variant ->
variant.outputs.all {
def flavorFlag = "${variant.productFlavors.get(0).name}"
def fileName
def date = new Date()
def formattedDate = date.format("yyyy-MM-dd-HH-mm-ss-SSS")
if (variant.buildType.name.equals('release')) {
fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_release_${formattedDate}.apk"
} else if (variant.buildType.name.equals('debug')) {
fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_debug_${formattedDate}.apk"
}
outputFileName = fileName
}
}
signingConfig signingConfigs.release
}
}
}
属性
获取渠道名称
variant.productFlavors.get(0).name
获取versionName
variant.mergedFlavor.versionName
获取当前时间
def date = new Date()
def formattedDate = date.format("yyyy-MM-dd-HH-mm-ss-SSS")