【发布时间】:2020-11-18 14:00:43
【问题描述】:
我有一个 gradle 任务,当我发布 apk 时会调用它,我这样称呼它:
tasks.whenTaskAdded { task ->
if (task.name == 'preDeployBuild') {
task.dependsOn deployTask
}
}
任务本身是:
task deployTask {
doFirst {
versionCode = versionJSON.buildNumber
latestVersionCode = versionCode
println "$versionCode"
versionFile.write(new JsonBuilder(versionJSON).toPrettyString())
def versionNameRelease = getVersionNameRelease()
ext.latestVersionName = versionNameRelease
android.applicationVariants.all { variant ->
variant.outputs.all {
println "$versionNameRelease"
println "$versionCode"
versionNameOverride = versionNameRelease
versionCodeOverride = versionCode
outputFileName = "${appName}_${latestVersionName}.${new Date().format('yyyyMMdd')}.apk"
}
}
}
}
我更新到 Gradle 6.5,这不再起作用,收到此错误:
> The value for this property cannot be changed any further.
在 gradle 任务运行期间更新 versioName versionCode 和 outputFileName 的正确方法是什么?
【问题讨论】:
标签: android gradle android-gradle-plugin build.gradle