在将构建脚本从 groovy 迁移到 kotlin 期间,我遇到了排除构建变体的问题。
在 groovy 中,这很容易:
android {
variantFilter { variant ->
if (variant.name == "lorempisum") {
setIgnore(true)
}
}
}
但在 kotlin 中类似的事情不起作用。在 android studio 中似乎没问题,但在编译过程中会抛出 Unresolved reference: isIgnore
android {
variantFilter {
if (buildType.name == "lorempisum") {
isIgnore = true
}
}
}
从另一边报告Unresolved reference: setIgnore
,但在编译期间有效android {
variantFilter {
if (buildType.name == "lorempisum") {
this.setIgnore(true)
}
}
}
任何人都知道如何以正确的方式做到这一点?我正在使用 kotlin 1.3.72、android studio 4.0.1 和 gradle 6.5.1
- - 编辑 - -
我修复示例
ignore
-> isIgnore
在第二个街区,它也不起作用
最佳答案
解决方案是ignore = true
有一点细节。
如果您保持在顶级 build.gradle.kts
中,则此方法有效这一行:classpath("com.android.tools.build:gradle:4.0.1")
不仅限于buildSrc
对此:implementation("com.android.tools.build:gradle:4.0.1")
关于android - 如何在 gradle kts 中排除(忽略)android 构建变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63635713/