是否可以在build.gradle文件中使用 "def "值。

问题描述 投票:0回答:1

我正在生成多个 apk's 基于不同的配置文件。

所以我在 build.gradle 档案

def isPRODBuild = false

我想改变这个变量在 productFlavors 范围,所以我做了如下操作。

productFlavors {
    dev {
        isPRODBuild= false     
    }
    prod {
        isPRODBuild= true 
    }
}

但似乎它并没有更改 isPRODBuild 值,是否需要在 build.gradle 文件中使用其他类型的变量?

是否需要在build.gradle文件中使用其他类型的变量?

android gradle android-gradle-plugin build.gradle gradle-plugin
1个回答
0
投票

在构建时,Gradle会生成BuildConfig类,这样你的应用代码就可以检查当前构建的信息。你也可以使用buildConfigField()方法从你的Gradle构建配置文件中向BuildConfig类添加自定义字段,并在你的应用程序的运行时代码中访问这些值。同样,你也可以使用resValue()添加应用资源值。

所以你可以简单地使用 构建配置字段 来定义你的变量。

productFlavors {
    dev {
        buildConfigField "boolean", "isPRODBuild", "false"   
    }
    prod {
        buildConfigField "boolean", "isPRODBuild", "true"
    }
}

然后,要访问上述变量,只需使用 BuildConfig.isPRODBuild

© www.soinside.com 2019 - 2024. All rights reserved.