如何强制库使用sdk构建工具19.1.0或更高版本,而不需要分配/手动编辑库的build.gradle文件?
使用库时我一直收到此错误...
Error:The SDK Build Tools revision (.......) is too low for project ':somelibrary'. Minimum required is 19.1.0
答案 0 :(得分:42)
缺乏简单的方法是我无法理解的。很多人使用他们不拥有的图书馆项目,必须与詹金斯建立或有其他理由不接触他们,并且不想将它们分开供个人使用。
无论如何,我找到了解决方案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
基本上,您只需定义一次,就可以在任何地方使用。
干杯。
答案 1 :(得分:3)
如果您只想在compileSdkVersion
值过低时更新buildToolsVersion
和buildToolsVersion
值,您可以先比较子项目的版本号,只在需要时更新。这样,您可以对其他项目进行最少的更改,并且可以减少检查是否出错的项目。
所以,假设Android Studio告诉您需要25.0.0
的最小构建工具版本,然后在根build.gradle
中,这里是如何检查每个子项目的{{1}只有当它小于buildToolsVersion
时才会改变它:
25.0.0