Dam*_*ioo 5 android gradle android-gradle-plugin
在 AGP 7.0.0-alpha15 之前,我可以像这样更改应用程序的版本代码
android {
defaultConfig {
applicationVariants.all {
if (buildType.name == "debug") {
outputs.forEach { output ->
(output as? com.android.build.gradle.internal.api.ApkVariantOutputImpl)?.versionCodeOverride = 1
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
applicationVariants AGP 7.0.0-alpha15 之后好像不见了,怎么改?
PS:在普通的 gradle 中似乎没问题,上面是 Kotlin
编辑
通过下面的回答,我能够在构建中覆盖版本代码:
android {
androidComponents.onVariants { appVariant ->
if (appVariant.buildType == "release") {
appVariant.outputs.forEach {
it.versionCode.set(1)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
Variant API 将在 AGP 7.0.0 中更改为延迟评估模型,目前 Alpha 15 似乎已经为此删除了旧的 API。展望未来,您将需要使用androidComponentsDSL,它可以访问变体。不过,我不确定您是否能够像这样重写版本代码。查看beforeVariants并onVariants了解更多信息:
android {
androidComponents.beforeVariants { variantBuilder ->
// Callback before variants are built. Can be modified, but doesn't allow access to outputs
}
androidComponents.onVariants { variant ->
// Callback after variants are built. Apparently it's read-only access at this point, but outputs are available here
println(variant.outputs)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
429 次 |
| 最近记录: |