在 Kotlin DSL 中为 gradle 定义维度

Defining dimensions in Kotlin DSL for gradle

我正在将我的 build.gradle 转换为 Kotlin DSL。我在应用程序中有 2 种构建风格,但我不知道如何设置这些风格的维度:

flavorDimensions("type")

productFlavors {
    create("free") {
        buildConfigField("boolean", "IS_DONATE", false.toString())
        dimension = "type"
    }
    create("donate") {
        buildConfigField("boolean", "IS_DONATE", true.toString())
        dimension = "type"
    }
}

dimension = "type" 部分失败;如何为每种口味设置维度?

Use setDimension("type")

flavorDimensions("type")

productFlavors {
    create("free") {
        buildConfigField("boolean", "IS_DONATE", false.toString())
        setDimension("type")
    }

    create("donate") {
        buildConfigField("boolean", "IS_DONATE", true.toString())
        setDimension("type")
    }
}

作为 Shweta Chauhan 答案的补充,在 Gradle 的新版本中,不推荐使用 setDimension("type")

您应该改用 dimension("type")

如果您使用更新的 gradle 版本和 kotlin 脚本:

flavorDimensions.add("type")
    
productFlavors {
    create("free") {
        dimension = "type"
        buildConfigField(...)
    }
}