繁体   English   中英

构建要在代码中使用的gradle变量,具体取决于flavor和build类型

[英]build gradle variables to be used in code depending on flavor AND build type

有没有办法在我的代码中使用build.gradle中的变量,这取决于flavor AND buildType?

在这个例子中: 是否可以在Gradle中声明一个可用于Java的变量? 新资源值仅取决于其是否为调试版本或发布版本类型。

我想拥有的是每个可能的buildVariant的一个变量。

像这样的东西:

flavor1Debug   => resValue "string", "app_name", "App 1 Debug"
flavor1Release => resValue "string", "app_name", "App 1"
flavor2Debug   => resValue "string", "app_name", "App 2 Debug"
flavor2Release => resValue "string", "app_name", "App 2"

有没有一种很好的方法可以通过build.gradle或其他不包含switch或if语句的方式来实现这一点?

在您的应用的build.gradle中,您可以实现此目的的一种方法是:

buildTypes {
    debug {
        productFlavors.flavor1.buildConfigField "String", "app_name", "\"App 1 Debug\""
        productFlavors.flavor2.buildConfigField "String", "app_name", "\"App 2 Debug\""
    }
    release {
        productFlavors.flavor1.buildConfigField "String", "app_name", "\"App 1\""
        productFlavors.flavor2.buildConfigField "String", "app_name", "\"App 2\""
    }
}

请注意,您需要在buildType之前定义productFlavors {}块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM