how can I force a library to use sdk build tools 19.1.0 or above without forking/manually editing the build.gradle file for the library?
I keep getting this error when using libraries...
Error:The SDK Build Tools revision (.......) is too low for project ':somelibrary'. Minimum required is 19.1.0
The lack easy way to do it is beyond my understanding. Tons of people use library projects that they don't own, have to build with Jenkins or have other reasons not to touch them and don't want to fork them for personal use.
Anyway, I found a solution here.
Will copy it here just in case:
In you root build.gradle add
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
}
}
}
}
This will apply compileSdkVersion and buildToolsVersion to any android modules you have.
And in your main project's build.gradle change dependencies to this:
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
Basically you are defining them once and could use from anywhere.
Cheers.
If you only want to update the compileSdkVersion
and buildToolsVersion
values only when the buildToolsVersion
value is too low, you can first compare the version number of the subproject and only update if needed. This way you make minimal changes to other projects and have less projects to check if things go wrong.
So, let's say that Android Studio is telling you that you need a minimum build tools version of 25.0.0
, then in your root build.gradle
, here's how you would check each sub-project's buildToolsVersion
and only change it if it's less than 25.0.0
:
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android") && VersionNumber.parse(project.property("android").buildToolsVersion) < VersionNumber.parse("25.0.0")) {
android {
compileSdkVersion 25
buildToolsVersion '25.0.0'
}
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With