问题描述
从groovy迁移到kotlin的构建脚本期间,我遇到了排除构建变体的问题。
很时髦:
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 studio和插件的最新版本。 尝试一下
variantFilter {
this.ignore = name == "lorempisum"
}