如何解决ERROR: Failed to resolve: 'androidx.cardview:cardview:1.0.0'依赖错误
我来帮你搞定这个Failed to resolve: cardview的报错!从你给出的配置来看,大部分设置都是正确的——已经开启了AndroidX和Jetifier,仓库配置也包含了Google的源,我们可以从以下几个方向排查修复:
1. 清理Gradle缓存并重新同步
很多时候依赖解析失败是因为缓存损坏或者同步不彻底,这是最常见的解决办法:
- 打开Android Studio,点击顶部菜单栏的
File->Invalidate Caches / Restart - 在弹出的窗口中选择
Invalidate and Restart,等待Studio重启并自动同步项目
如果手动清理缓存更彻底的话,可以:
- 关闭Android Studio
- 删除项目根目录下的
.gradle文件夹 - 删除用户目录下的
.gradle文件夹(比如Windows的C:\Users\你的用户名\.gradle,Mac的~/Users/你的用户名/.gradle) - 重新打开项目,点击
Sync Project with Gradle Files按钮
2. 调整依赖版本并移除冗余配置
你的模块build.gradle里有一个冗余的testImplementation 'androidx.appcompat:appcompat:1.0.2',这和implementation 'androidx.appcompat:appcompat:1.1.0-alpha04'重复了,建议移除它,避免依赖冲突。
另外,你可以尝试使用与AppCompat版本匹配的CardView依赖,比如把CardView依赖改成:
implementation 'androidx.cardview:cardview:1.1.0-alpha04'
这样和你用的AppCompat alpha版本保持一致,可能会解决版本兼容问题。
3. 确认仓库配置的优先级
虽然你的项目build.gradle里已经把google()放在了最前面,但再检查一下:
- 在
buildscript和allprojects的repositories中,google()必须是第一个仓库,确保Gradle优先从Google的仓库拉取AndroidX依赖,而不是jcenter或者其他源。
4. 检查网络连接
如果以上方法都没用,可能是网络问题导致无法访问Google的Maven仓库。你可以尝试切换到稳定的网络,或者配置国内的Maven镜像(比如阿里云镜像)来替代:
在项目build.gradle的allprojects的repositories中添加:
maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' }
然后把原来的google()和jcenter()注释掉,再重新同步。
按照上面的步骤一步步来,应该就能解决CardView依赖解析失败的问题了!
内容的提问来源于stack exchange,提问作者hassan moradnezhad

