微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Gradle KTS中排除忽略Android构建变体

如何解决如何在Gradle KTS中排除忽略Android构建变体

从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"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。