Gradle同步失败,找不到constraint-layout:1.0.0-alpha2。

141

问题 :

Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified

背景: Android Studio 2.2 P 1


我正在使用 AS 2.2 P 3 进行工作,一切都很好。 - TooCool
1
我刚刚升级到AS2.2-alpha7...然后它也开始出错了。 - Henrique de Sousa
23个回答

331

ConstraintLayout 的支持库无法安装/更新。

只需打开 Preferences > Appearance & Behavior > System Settings > Android 并移动到 SDK Tools 选项卡。检查以下字段并安装。

Preferences


12
对于那些已经安装了这些库但是gradle仍然出现问题的人,请查看下面jmartinalonso的答案。它在扩展这个答案。 - Antimonit
16
注意:Preferences 在 Windows 上实际上是 文件 > 设置 - Sébastien
7
在我的情况下,我找不到AndroidSDK,就像这里所提到的那样。因此,我从android-tools/bin中执行了./sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4" - Hareendra Chamara Philips
我正在运行Ubuntu,我的 ~/Android/Sdk/extras/m2repository 目录属于 root:root。我把它改为了我的用户,然后就可以更新库了。 - Steve Gelman
1
截至Windows上的Android Studio 2.3.3,所需的鼠标点击为:文件-->设置-->外观和行为-->系统设置-->Android SDK-->SDK工具选项卡。然后勾选“用于Android的ConstraintLayout”和“ConstraintLayout求解器”。最后,构建-->重新构建项目。 - pjd
显示剩余2条评论

132

在我的情况下,支持 ConstraintLayout 的库已经安装了,但我在 build.gradle 文件中添加了错误的 ConstraintLayout 库版本。为了查看已安装的版本,请转到Preferences > Appearance & Behavior > System Settings > Android SDK。现在,在右窗格中单击SDK Tools选项卡。选择“显示包详细信息”,并记下版本号。

图片描述

最后,您可以在build.gradle文件中添加正确的版本。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
    testCompile 'junit:junit:4.12'
}

15

解决方法是在您的build.gradle中更新Android Gradle插件。

可以使用以下代码: classpath 'com.android.tools.build:gradle:2.2.0-alpha2'

或者您也可以使用最新版本: classpath 'com.android.tools.build:gradle:2.2.0-alpha3'


2
使用2.2.0-alpha3时要小心,因为在Android 4.x上存在Toolbar的一个错误。请参考https://dev59.com/bpjga4cB1Zd3GeqPEAE6。 - Than

12

我的问题是,SDK工具将其更新到了最新版本,在我的情况下是1.0.0-alpha9,但在我的gradle依赖中设置为

compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8' 因此,您可以更改gradle构建文件以

compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9' 或者您可以在SDK工具编辑器中检查“显示包详情”,并安装所需版本。 如下面的屏幕截图所示。 SDK工具图片

输入图像描述


11
  1. 确保在你的模块级build.gradle文件中声明了maven.google.com仓库

    repositories { maven { url 'https://maven.google.com' } }

2.在相同的build.gradle文件中将该库添加为依赖项:

dependencies {
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
}

8

我把我的android gradle插件更新到2.2.0-alpha4,同时将约束布局依赖项更新到1.0.0-alpha3,现在似乎可以正常工作了。


谢谢,这对我有用。Gradle在弹出窗口后更新了自己,但约束依赖项没有更新。 - Chris

6

起初,我尝试了StackOverflow上的所有解决方案...从更新gradle到XY版本,到更新ConstraintLayout到XY版本...我甚至将我的SDK工具和Android Studio更新到最新版本...但什么都没用。

唯一成功的解决方法是,我从gradle和SDK中删除了ConstraintLayout库,然后在随机的xml布局中打开Design视图,在Palette部分搜索ConstraintLayout。如果你已经成功地从项目中删除了库,则可以通过双击ConstraintLayout元素来安装库。

这样做会在我的app build.gradle中创建下一行:

'com.android.support.constraint:constraint-layout:1.0.0-beta1'

在我的项目 build.gradle 文件中,我有以下内容:
classpath 'com.android.tools.build:gradle:2.2.2'

Android Studio版本2.2.2


是的,我同意你的答案。 - Sejal Baraiya

5

阿尔法版已不再提供!

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

请使用最新版本的 ConstraintLayout。 - Tiago Simões
1
这行代码应该添加在哪里?我有最新的Android版本3.6,但在SDK工具中没有“Support Repository”选项。 - Jesh Kundem

3

为确保在工作室版本2.3中,您将不会在sdk工具中看到约束布局附近的下拉菜单,它将默认安装最新版本。

要获取所需版本,请选中显示软件包详细信息的框,并选择您想要安装的版本。


我在这个问题上卡住了,直到看到了你的帖子。我需要一个特定的旧版本。非常好的提示! - Baxter

1
在我的情况下,我必须先删除之前的版本,然后下载最新版本。稳定版v1.0于2月23日发布。在此输入图像描述

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