我生成签名apk时遇到问题。 当我生成发布时,apk总是给我版本名称和versionCode的QA值。
这是我的defaultConfig:
def date = new Date()
def df = new SimpleDateFormat("yyMMddHHmm")
def dfName = new SimpleDateFormat("yy-MM-dd")
df.setTimeZone(TimeZone.getTimeZone("UTC"))
versionCode df.format(date).toInteger()
versionName dfName.format(date)
这是我的buildType:
buildTypes {
debug {
android.defaultConfig.versionCode 1
android.defaultConfig.versionName "1"
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
例如,当我使用release生成apk时,我获得versionCode,而versionName等于1,就像它应该在QA上
答案 0 :(得分:1)
执行gradle任务时,正在评估版本代码和版本名称。因此,您不能在不同的构建类型中覆盖它,或者是正确的:每次设置它时都会全局覆盖它!
我认为您可以拦截任务并应用所需的代码:
android.applicationVariants.all { variant ->
if (variant.buildType.isDebuggable()) {
variant.mergedFlavor.versionCode = 1
variant.mergedFlavor.versionName = "1"
}
}