指定的Android SDK Build Tools版本(26.0.0)被忽略了...

60
在 Android Studio 3 中,我遇到了这个问题:

指定的 Android SDK Build Tools 版本(26.0.0)被忽略, 因为它低于 Android Gradle Plugin 3.0.0 的最低支持版本(26.0.2)。

将使用 Android SDK Build Tools 26.0.2。

要消除此警告,请从您的 build.gradle 文件中删除 "buildToolsVersion '26.0.0'" , 因为现在每个 Android Gradle Plugin 版本都有默认版本的构建工具。

问题是由于这些是具有 "buildToolsVersion '26.0.0'" 的第三方/供应商模块,所以我无法修改它们的 build.gradle 文件,而不必分叉每个子模块。
是否有一种方法可以设置一个全局的 buildToolsVersion,以覆盖所有子 build.gradle?

2
看起来它正在为你做这件事? - natario
不是的。它说是“警告”,但它却作为错误出现并停止了构建过程。 - Snowman
1
你可以回退到 com.android.tools.build:gradle:2.3.3。这样你会再次看到“转换此项目”对话框,你可以选择继续忽略或停止提示。 - CommonsWare
@MohamedOun,请查看下面的修复。 - Varun Bhatia
@Snowman 我遇到了相同的问题,通过将以下片段添加到根build.gradle中解决了问题 子项目 { ... afterEvaluate {subproject-> if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))){ android{ buildToolsVersion "26.0.2" } } } } - Kanishka
显示剩余3条评论
8个回答

17

如果你指的是我的之前的回答,这里有一个更新:

从2018年起,Compile将会从依赖项中删除。一个新版本的Gradle已经发布。

enter image description here

使用上述提到的内容将帮助你解决错误。这对于在2018年3月之后工作的开发人员来说是必需的。同时可能需要进行maven更新。所有以上的回答都不适用于Android Studio 3.1。因此,如果你正在使用3.1,需要改变以上代码块。另外,我将compile替换为implementation。


1
这是最新的答案,也是应该使用的答案。对我来说,使用sdk版本27可以工作! - Leonardo Alves Machado
我正在使用3.1版本。你的意思是要在所有模块的构建Gradle中进行这些更改,还是仅针对app模块?(OP还表示无法修改第三方/供应商模块的build.gradle文件) - Atul
@Atul 在创建3.1.3或更高版本的新应用程序时,我通常会看到Android Studio进行上述所有更改,但是当我们通过Github导入项目时,通常API版本较低,因此我们必须在Build.gradle文件(Module:app)中进行更改,并且还需要进行依赖项更改。作为问题陈述的一部分,答案仅适用于Module:App。(Build.gradle),根据原始主题问题,我们通常不会在其他模块中做任何事情,以便在Android Studio中构建和同步gradle项目。希望我解释清楚了。 - Rahul Joshi
可能会出现一个新问题:在具有前缀 mipsel-linux-android 的 ABI 中,NDK 工具链文件夹中找不到任何工具链。请注意处理这种情况。 - Rahul Joshi
1
@RahulJoshi 我也遇到了同样的问题:“在NDK工具链文件夹中找不到任何工具链...”。看看这个答案。我已经解决了:https://dev59.com/EFsW5IYBdhLWcg3wTl28#52454806 - V.March
@V.March 谢谢,我很沮丧,因为Gradle构建没有进行,导致Android Studio无法响应(代码不可编辑和调试)。 - Rahul Joshi

13

打开 app/build.gradle 文件

buildToolsVersion 改为 buildToolsVersion "26.0.2"

compile 'com.android.support:appcompat' 改为 compile 'com.android.support:appcompat-v7:26.0.2'


3
自2018年起,compile已经被弃用,请使用implementation - Gastón Saillén

7

解决这个问题很简单

打开 build.gradle (module.app) 文件

Change the Build Version for app as shown in the photo link

它将帮助我们为该项目重新构建gradle,使其再次同步。


6

升级到 Android Studio 3.0.1,它将这些警告视为警告而非错误。Android 3.0 把这些警告视为错误,导致 gradle 同步操作失败。


3

buildToolsVersion '26.0.2'设置为版本,然后更改classpath 'com.android.tools.build:gradle:3.0.1'

确保将compileSdkVersion设置为26,同时将targetSdkVersion也设置为26

还应该设置compile 'com.android.support:appcompat-v7:26.0.2'


1

只需清理并重新构建项目,我的问题得到了修复,你可以试一试 :-)


1

在Android Studio中使缓存失效将解决此问题。转到文件->点击使缓存失效/重新启动选项。


0
很多时候,当API更新时,我们会忘记更新SDK管理器。为了访问最新的API,应该始终更新最高级别的API,如果可能的话,还应该具备其他常用的较低级别API以适应向后兼容性。
进入build.gradle(module.app)文件 更改compileSdkVersion、buildToolsVersion、targetSdkVersion,所有这些都应该具有最高级别的API。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接