【发布时间】:2015-02-04 16:10:40
【问题描述】:
在我的 build.gradle 中的 Android 项目中,使用以下说明创建 构建配置字段。
android {
defaultConfig {
if (project.hasProperty('serverOnePath')) {
buildConfigField "String", "SERVER_ONE_PATH",
"\"${serverOnePath}\""
}
if (project.hasProperty('serverTwoPath')) {
buildConfigField "String", "SERVER_TWO_PATH",
"\"${serverTwoPath}\""
}
}
}
因此,属性必须在 gradle.properties 中这样定义:
serverOnePath=http://example1.com/path
serverTwoPath=http://example2.com/path
我想将说明移到 android.default 级别 上的可用函数中。这是一个无效草稿:
def addBuildConfigFieldIfPropertyIsPresent(
String propertyName, String buildConfigFieldName) {
if (project.hasProperty(propertyName)) {
android.defaultConfig.buildConfigField "String", buildConfigFieldName,
"\"${propertyName}\""
}
}
棘手的部分是${propertyName}。将声明实际放入 defaultConfig 闭包中也会很好。
【问题讨论】:
标签: android groovy android-gradle-plugin build.gradle buildconfig