java - 如何将特定字段用于特定的应用程序构建(调试/发行版)?

标签 java android build gradle

我使用gradle构建我的android项目。当构建类型为Debug时,我想在Java文件Constans.java中更改一个 bool(boolean) 值。

public static final boolean IS_TEST_ENVIRONMENT = false;

我使用此值来控制我的应用程序请求其他服务器。怎么做,我找不到任何信息。

最佳答案

您可以通过编辑build.gradle文件来添加任意多个字段,如下所示:

buildTypes {
    debug {
        buildConfigField "boolean","IS_TEST_ENVIRONMENT","true"
        buildConfigField "boolean","SOME_OTHER_FIELD","false"
    }
    release {
        buildConfigField "boolean","IS_TEST_ENVIRONMENT","true"
        buildConfigField "boolean","SOME_OTHER_FIELD","true"
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

}

但是对我来说,起初它不会承认
if (BuildConfig.IS_TEST_ENVIRONMENT) {
    // Do something on Debug build
}
if (BuildConfig.SOME_OTHER_FIELD) {
    // Do something else
}

重建也无济于事。有用的只是重启我的AndroidStudio。

关于java - 如何将特定字段用于特定的应用程序构建(调试/发行版)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322875/

相关文章:

java - 当只关心几种算法的相对性能时,强制 Java 从不 JIT 编译我的方法会更好吗?

java - NoClassDefFoundError : SupportedEllipticPointFormatsExtension after Glassfish restart

Android Webview NullPointerException

xcode - 在 XCode 编译上运行 Bash 脚本 - 在哪里获取构建变量列表?

Webpack 配置输出文件名使用方括号参数而不是纯文本

java - 在 Java EE 中使用静态对象

java - 如何在 android 的 ListView 中获取项目的 View ?

java - 膨胀类 fragment 谷歌 API 时出错

c# - TeamCity 8 中的 DotCover 不起作用

java - 柜台忙碌等待