我的build.gradle文件包含以下行:
targetSdkVersion 26
我希望它是这样的:
targetSdkVersion Build.VERSION_CODES.o
这可能吗?它似乎更清洁/更安全,但这种语法不起作用。
答案 0 :(得分:2)
目标SDK版本出现在多个项目中[...]最好在一个地方为所有使用实例定义
所以我们讨论的是定义项目范围的可访问构建时间值。
将其放入根项目 build.gradle
:
ext {
compileSdkVersion = 26
buildToolsVersion = "26.0.0"
minSdkVersion = 17
targetSdkVersion = 26
supportLibVersion = "26.0.0"
playServicesVersion = "10.2.6"
}
现在您可以在模块build.gradle
中引用这些值,如下所示:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
// ...
}
// ...
}
dependencies {
compile "com.android.support:design:$supportLibVersion"
compile "com.google.firebase:firebase-messaging:$playServicesVersion"
// ...
}
// ...
我认为只要结果名称与DSL成员名称不冲突,您甚至可以省略rootProject.ext.
前缀。
在Groovy中,只要使用双引号,就可以在字符串中使用变量。
答案 1 :(得分:1)
这可能吗?
不,抱歉。 Build
是Android框架中存在的Java类。它不适用于Gradle。