在Gradle中,如何基于其他构建配置字段创建布尔构建配置字段?
例如:
buildConfigField BOOLEAN, TEST_A, "false"
buildConfigField BOOLEAN, TEST_B, "false"
buildConfigField BOOLEAN, TEST_C, TEST_A && TEST_B
解决方法:
这段代码写在你的android.defaultConfig块中,完全是这样的:
buildConfigField("boolean", "TEST_A", "false");
buildConfigField("boolean", "TEST_B", "false");
buildConfigField("boolean", "TEST_C", "TEST_A && TEST_B");
public static final boolean TEST_A = false;
public static final boolean TEST_B = false;
public static final boolean TEST_C = TEST_A && TEST_B;
在以这种方式声明构建配置值时要注意一件有趣的事情,如果你看看BuildConfig.java是如何构造的,你可以看到在特定构建类型中声明的字段(例如android.buildTypes.debug)出现在声明的字段之前在默认配置中.
因此,在提供的示例中,如果您希望TEST_C依赖于实际构建类型,则需要在构建类型级别声明TEST_A和TEST_B,而不是在默认级别.