Android 如何从gradle确定调试构建?
我想在BuildConfig文件中切换调试和发布生成的字符串值: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}" ... }
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
名称中不应该有任何字符串