android - 为特定 flavor 和 buildType 定义 buildconfigfield

标签 android gradle android-gradle-plugin build-tools

我有 2 种口味,比如说 Vanilla 和巧克力。我也有 Debug 和 Release 构建类型,我需要 Vanilla Release 的字段为 true,而其他 3 个组合应该为 false。

def BOOLEAN = "boolean"
def VARIABLE = "VARIABLE"
def TRUE = "true"
def FALSE = "false"

    VANILLA {

        debug {

            buildConfigField BOOLEAN, VARIABLE, FALSE

        }

        release {

            buildConfigField BOOLEAN, VARIABLE, TRUE

        }


    }

    CHOCOLATE {
        buildConfigField BOOLEAN, VARIABLE, FALSE
    }

我遇到了一个错误,所以我猜调试和发布技巧不起作用。可以这样做吗?

最佳答案

循环变体并检查它们的名称:

productFlavors {
    vanilla {}
    chocolate {}
}

applicationVariants.all { variant ->
    println("Iterating variant: " + variant.getName())
    if (variant.getName() == "chocolateDebug") {
        variant.buildConfigField "boolean", "VARIABLE", "true"
    } else {
        variant.buildConfigField "boolean", "VARIABLE", "false"
    }
}

关于android - 为特定 flavor 和 buildType 定义 buildconfigfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30355650/

相关文章:

android - Gradle 不区分 buildType 发布和调试

android - BroadcastReceiver 检测屏幕开/关和服务不工作

android - 检查应用程序的性能?

android - 创建的文件在 android 中物理存储在哪里?

android - 如果状态由我的类组成,如何在 Android 中的方向更改期间保存状态?

android - 在 Android 上使用 root 访问和修改 protected 数据库

android - 对使用 Android Studio 向导生成的签名 apk 使用不同的命名约定

java - Android 有用的调试/发布宏(使用 gradle?)

gradle - 如何让 IntelliJ 识别 gradle 生成的源目录?

渐变 wsimport