如何强制库使用sdk构建工具19.1.0或更高版本,而无需派生/手动编辑该库的build.gradle文件?

使用库时,我不断收到此错误...

Error:The SDK Build Tools revision (.......) is too low for project ':somelibrary'. Minimum required is 19.1.0

最佳答案

缺乏简单的方法无法实现。大量的人使用他们不拥有的图书馆项目,不得不与 Jenkins 一起 build ,或者有其他原因不去碰它们,也不想 fork 它们供个人使用。

无论如何,我找到了一个解决方案here

为了防万一,将其复制到此处:

在您的root 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

基本上,您只需定义一次即可,并且可以在任何地方使用。

干杯。

10-08 18:04