-1

我有一个字段 YOUR_POWER 设置为基于 BuildType 的值。

我的配置build.gradle

productFlavors{
    free {
        buildConfigField "int", "YOUR_POWER", 80
    }
    paid {
        buildConfigField "int", "YOUR_POWER", 100
    }
}
buildTypes {
    debug {}
    release {}
}

我怎样才能有一些配置,如:free + debug = power 70; free + release = power 80; paid + debug = power 90paid + release = power 100

欢迎任何建议/替代解决方案:)

@updated:这只是一个例子,字段类型也可以是字符串。

同样的问题:如何为每个构建变体设置不同的构建类型

4

2 回答 2

3

您需要使用 2 个值:

productFlavors{
    free {
        buildConfigField "int", "YOUR_POWER_BASE", 70
    }
    paid {
        buildConfigField "int", "YOUR_POWER_BASE", 90
    }
}
buildTypes {
    debug {
        buildConfigField "int", "YOUR_POWER_INCREASER", 0
    }
    release {
        buildConfigField "int", "YOUR_POWER_INCREASER", 10
    }
}

并在代码中创建它们的总和:

val yourPower = BuildConfig.YOUR_POWER_BASE + BuildConfig.YOUR_POWER_INCREASER
于 2019-04-17T15:34:27.687 回答
0

还有另一种解决方案是使用 sourceset

https://developer.android.com/studio/build/build-variants#sourceset-build

您可以创建一个 xml 文件,例如:config.xml,它可能因 [variant, build type] 而异

于 2019-04-18T11:03:02.993 回答