Android 如何从gradle确定调试构建?

Android 如何从gradle确定调试构建?,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,我想在BuildConfig文件中切换调试和发布生成的字符串值: def api= "\"api\""; if (...){// What to set here to determine is build debug or not ? api= "\"api-debug\""; } defaultConfig { ... buildConfigField "String", "API", "${api}" ... }

我想在BuildConfig文件中切换调试和发布生成的字符串值:

 def api= "\"api\"";

        if (...){// What to set here to determine is build debug or not ?
            api= "\"api-debug\"";
        }


defaultConfig {
  ...
    buildConfigField "String", "API", "${api}"
 ...
}

您应该在
buildTypes
的范围内设置多个
buildConfigField
s,如下所示:

android {
    // ...
    buildTypes {
        debug {
            buildConfigField "String", "API", "api-debug"
        }
        // ...
    }    
}

有关更多详细信息,请参见,例如:

您应该在
构建类型的范围内设置多个
buildConfigField
s,如下所示:

android {
    // ...
    buildTypes {
        debug {
            buildConfigField "String", "API", "api-debug"
        }
        // ...
    }    
}

有关更多详细信息,请参见,例如,您也可以通过创建单独的资源文件夹来实现这一点。但是,如果您想在gradle文件中实现它,那么可以通过添加这些行来更新
build.gradle
,为两个版本创建单独的字符串

android {
    ...
    buildTypes {
        release {
            ...
            resValue "string", "api_string", "api-release\"
        }
        debug {
            ...
            resValue "string", "api_string", "api-debug\"
        }
    }
}

添加这些行之后,构建项目,您可以使用
context.getString(R.string.api\u string)
在java中获取字符串,但是请注意,使用
api\u string
名称的
strings.xml
中不应该有任何字符串。

您也可以通过创建单独的资源文件夹来实现这一点。但是,如果您想在gradle文件中实现它,那么可以通过添加这些行来更新
build.gradle
,为两个版本创建单独的字符串

android {
    ...
    buildTypes {
        release {
            ...
            resValue "string", "api_string", "api-release\"
        }
        debug {
            ...
            resValue "string", "api_string", "api-debug\"
        }
    }
}
添加这些行之后,构建项目,您可以使用
context.getString(R.string.api\u string)
在java中获取字符串,但是请注意,您的
strings.xml
名称中不应该有任何字符串