在Gradle中配置输出不同的渠道包
项目中遇到在这里留下笔记,废话没有直接上代码:
buildTypes {
release {
//是否开启zip优化
zipAlignEnabled true
//是否开启混淆
minifyEnabled false
//正式的签名文件
signingConfig signingConfigs.release
//混淆所用文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
def fileName
if (outputFile != null && outputFile.name.endsWith('.apk')) {
// 输出apk名称为XXapp1.4.0_2017-02-14.apk
if (variant.buildType.name.equals('release')) {
fileName = "XXapp${defaultConfig.versionName}_${releaseTime()}.apk"
} else if (variant.buildType.name.equals('debug')) {
fileName = "XXapp${defaultConfig.versionName}_${releaseTime()}_debug.apk"
}
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
debug {
minifyEnabled false
//版本后面加后缀,like[1.0-debug],方便区别
versionNameSuffix "_debug"
signingConfig signingConfigs.debug
}
}
gradle在根目录写上,获取时间的方法
def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
OK了 就是这么简单