Java 如何为特定应用程序构建(调试/发布)使用特定字段?

Java 如何为特定应用程序构建(调试/发布)使用特定字段?,java,android,build,gradle,Java,Android,Build,Gradle,我使用gradle来构建我的android项目。当构建类型为Debug时,我想更改java文件Constans.java中的布尔值 我使用此值控制我的应用程序请求不同的服务器。如何做到这一点,我找不到任何信息。您可以创建自己的构建变量: buildTypes { debug { buildConfigField "boolean","IS_TEST_ENVIRONMENT","false" } } 通过如下编辑build.gradle文件,可以添加任意数量的字

我使用gradle来构建我的android项目。当构建类型为Debug时,我想更改java文件Constans.java中的布尔值


我使用此值控制我的应用程序请求不同的服务器。如何做到这一点,我找不到任何信息。

您可以创建自己的构建变量:

buildTypes {
    debug {

        buildConfigField "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。

谢谢!!!但我的布尔值是\u TEST\u环境不在buildConfig中。那是在君士坦丁堡。我该怎么办?顺便问一下,我想知道在哪里可以找到关于这个的文件。你怎么知道解决方案?看看这篇文章。我需要在我的项目根目录下创建BuildConfig.java文件吗?@user3932202 BuildConfig是由ADT创建的,所以你不必自己导入/创建它。虽然现在我看到了它,但是已经有一个调试布尔字段可以使用。更新了答案。THX。我还有一个问题,我想使用更多的布尔值,所以,我要在BuildConfig中添加一个布尔值,但它会提示自动生成的文件。不要修改。我能做什么?我还需要一个布尔值@user3932202您可以按照我显示的方式添加多个字段。顺便说一句,BuildConfig.DEBUG有时会被报告有错误,所以您可能希望远离它。您的意思是我可以使用我在BuildConfig中添加的其他布尔字段,比如is_TEST_环境,但不要使用BuildConfig.DEBUG?
if (BuildConfig.IS_TEST_ENVIRONMENT) {
    // Do something on Debug build
}
if (BuildConfig.SOME_OTHER_FIELD) {
    // Do something else
}