如何在build.gradle文件中引用Build.VERSION_CODES?

时间:2017-08-01 17:23:26

标签: android android-studio build.gradle

我的build.gradle文件包含以下行:

targetSdkVersion 26

我希望它是这样的:

targetSdkVersion Build.VERSION_CODES.o

这可能吗?它似乎更清洁/更安全,但这种语法不起作用。

2 个答案:

答案 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。