问题:
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
修复方法是更新 build.gradle 中的 android gradle 插件。
这应该会奏效: Classspath‘ com.android.tools.build: gradle: 2.2.0-alpha2’类路径‘ com.android.tools.build: gradle: 2.2.0-alpha2’
或者你可以使用最新的: Classspath‘ com.android.tools.build: gradle: 2.2.0-alpha3’类路径‘ com.android.tools.build: gradle: 2.2.0-alpha3’
我更新了我的机器人级别插件到 2.2.0-alpha4和约束布局依赖到 1.0.0-alpha3,它似乎现在工作
2.2.0-alpha4
1.0.0-alpha3
我使用 com.android.Support.約束-布局: 1.0.0-alpha2和类路径‘ com.android.tools.build: gradle: 2.1.0’,它工作起来非常迷人。
com.android.tools.build:gradle:2.2.0-alpha6级
com.android.tools.build:gradle:2.2.0-alpha6
约束布局依赖 com.android.support.constraint:constraint-layout:1.0.0-alpha4
com.android.support.constraint:constraint-layout:1.0.0-alpha4
我没问题
无法安装/更新 ConstraintLayout的支持库。
ConstraintLayout
只要打开 Preferences > Appearance & Behavior > System Settings > Android,然后移到 SDK Tools选项卡。
Preferences
Appearance & Behavior
System Settings
Android
SDK Tools
我尝试约束布局依赖更新可用1,和插件级 α-6,它工作
对我来说,这是一个完全不同的问题。当我在 SDK 工具中安装约束依赖关系时,这些工具以某种方式将它们写入 错了目录。就是这样
/home/${USER}/Android/Sdk/extras/+m2repository+/com/.../constraint
而不是
/home/${USER}/Android/Sdk/extras/+android+/+m2repository+/com/.../constraint
补救措施:
只需将 1.0.0-alpha*目录复制到后一个路径
1.0.0-alpha*
不确定是否太晚了,但是如果有人在 SDK 工具上更新了 ConstraintLayout 和 Solver 之后仍然有错误,也许这个解决方案可以帮助: 错误: (30,13)未能解决: com.android.support. 約束: 約束-布局: 1.0.0-alpha4
在我的例子中,已经安装了 ConstraintLayout 的支持库,但是我在 build.gradle 文件中添加了不正确的 ConstraintLayout Library 版本。要查看已安装的版本,请转到 Preferences > Appearance & Behavior > System Settings > Android SDK。现在,单击右窗格中的 SDK Tools选项卡。检查显示包详细信息,并注意版本。
Android SDK
最后,您可以在 build.gradle文件中添加正确的版本
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' }
首先,我尝试了我在 stackoverflow 上读到的所有东西... ... 从更新 gradle 到 XY 版本,到更新 ConstraintLayout 到 XY 版本... ... 我甚至更新了我的 SDK 工具和 Android Studio 到最新版本... ... 但是什么都没用。
对我来说唯一有效的解决方案是从 gradle 和 SDK 中删除 ConstraintLayout 库,然后打开随机的 xml 布局,在 调色板节下的 设计视图中搜索 约束布局。如果您已经成功地从您的项目中删除了库,那么如果您双击 约束布局元素,您将能够从那里安装库。
这在我的应用程序 build.gradle 中创建了下一行:
'com.android.support.constraint:constraint-layout:1.0.0-beta1'
在我的项目 build. gradle 中,我有这个:
classpath 'com.android.tools.build:gradle:2.2.2'
Android 工作室版本2.2.2
在更新 SDK 工具时,出现了一个将要安装的 Constraint 布局版本的对话框。请注意,并根据这一点更新您的依赖项。对我来说,是安装 beta 3。
我改变了我的依赖关系,就像下面这样。在那之后,它起作用了。
编译‘ com.android.Support.約束: 約束-布局: 1.0.0-beta3’
我的问题是,SDK Tools 将它更新到了最新版本,在我的例子中是1.0.0-alpha9,但是在我的 gradle 依赖项被设置为
编译“ com.android.support. 約束: 約束-布局: 1.0.0-alpha8” 因此,您可以将分级构建文件更改为
编译‘ com.android.Support.約束: 約束-布局: 1.0.0-alpha9’ 或者在 SDK 工具编辑器中选择“显示包详细信息”并安装所需的版本。请看下面的屏幕。SDK 工具的映像
在我的例子中,我必须首先删除以前的版本,然后下载最新的版本。V1.0稳定版于2月23日发布。
只是为了确保在工作室版本2.3中,您不会在 sdk 工具中看到约束布局附近的下拉列表,它将默认安装最新版本
要获得所需的版本选中框说显示软件包的细节和繁荣,你现在可以选择所需的版本,你想要安装
确保在模块级 build.gradle 文件中声明了 maven.google.com 存储库
储存库{ 美文{ 网址 https://maven.google.com } }
2. 将库作为依赖项添加到同一 build.gradle 文件中:
dependencies { compile 'com.android.support.constraint:constraint-layout:1.0.2' }
在我的例子中,我有一个名为“ app”和“ sdk”的多模块项目。“ sdk”模块是我添加约束布局库的模块。当我试图将“ sdk”合并到一个名为“ app2”的新的多模块项目中时,出现了错误。解决方案是确保我已经将 Google Maven Repository 添加到“ app2”的项目级 build.gradle 文件中。Google Maven Repository 可以通过在项目级 build.gradle 文件的 allprojects.repositories下添加“ Google ()”:
allprojects.repositories
allprojects { repositories { jcenter() google() } }
在我的例子中,我使用的是 AS 2.3,我想使用当前最新的 ConstraintLayout 1.1.3,但是在我的参数 > 外观和行为 > 系统设置 > Android 中的最新版本是1.0。
为了使用 ConstraintLayout 1.1.3,我将我的 AS 从2.3更新到目前最新的3.2.1,com.android.tools.build: gradle 从2.2.2升级到3.2.1,gradle 从3.3升级到4.6,buildToolsVersion 从25.0.0升级到28.0。
我还向项目级 build.gradle 文件中的 Maven 存储库添加了 Maven { url‘ https://maven.google.com’} ,这解决了我的问题。
它可以在 androidx 下面的软件包中获得
implementation "androidx.constraintlayout:constraintlayout:2.0.0-alpha1"
通过重新安装 Android Studio 解决了类似的问题。
将约束布局依赖项从“1.0.0-alpha2”更新到相关版本。 编译‘ com.android.Support.約束: 約束-布局: 2.0.0-alpha5’
阿尔法版本不再可用!
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
只是为了提醒那些还在寻找这个的人。
ConstraintLayout1.0.1及更低版本已经被 maven 弃用。
有关可下载的可用约束布局的列表,请参见下表:
Https://maven.google.com/web/index.html?q=constrain#com.android.support.constraint:constraint-layout
目前最简单的解决办法就是改变
implementation 'com.android.support.constraint:constraint-layout:1.0.0-beta1'
到
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
我在 机器人和我能够编译的 Gradle (app)下面添加了以下脚本。
compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 }