5

寻找一些只做一次的聪明方法,例如

allprojects {
  android {
    buildToolsVersion '18.0.1'
    compileSdkVersion 18

    defaultConfig {
        targetSdkVersion 18
    }
  }
}

否则,每次有新的 SDK 更新可用时,我都需要在每个子项目中(例如,在 volley 或 viewpagerindicator 等引用库中)更新这个东西。

4

2 回答 2

0

通常,根项目不包含代码,因此您将使用subprojects. 此外,您必须在android {}阻止之前应用 Android 插件。除此之外,我希望这能奏效。

于 2013-11-05T23:19:55.467 回答
0

我在另一个问题中回答:

我在这里找到了解决方案。

将它复制到这里以防万一:

在你的根 build.gradle 添加

ext {
    compileSdkVersion = 20
    buildToolsVersion = "20.0.0"
}
subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

这会将 compileSdkVersion 和 buildToolsVersion 应用于您拥有的任何 android 模块。

在您的主项目的 build.gradle 中,将依赖项更改为:

compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion

基本上你定义它们一次,可以在任何地方使用。

干杯。

于 2014-09-09T05:21:30.457 回答