构建应用时遇依赖解析错误,如何解决无法解析com.android.support:appcompat-v7:27.1.1的问题
嘿,这个问题在Android开发里真的超常见,别慌,我给你捋几个靠谱的解决步骤,按顺序试下来大概率能搞定:
检查Google Maven仓库配置
27.x版本的support库托管在Google Maven仓库里,一定要确保根目录的build.gradle里正确配置了仓库。打开根build.gradle,确认allprojects块里有这两项:allprojects { repositories { google() // 必须要有这个,用于拉取Google系依赖 jcenter() // 部分旧依赖可能还需要,可暂时保留 } }要是你用的是较老的Gradle版本,
google()可能不生效,换成maven { url 'https://maven.google.com' }就行,效果完全一致。匹配Android Gradle插件版本
support库27.1.1要求Android Gradle插件(AGP)版本至少是3.0.0,版本不匹配会直接导致依赖解析失败。检查根build.gradle里的classpath配置:dependencies { classpath 'com.android.tools.build:gradle:3.0.0' // 也可以用更高的兼容版本,比如3.1.4 }要是AS提示Gradle wrapper版本不匹配,跟着提示更新就行,它会自动处理版本对应关系。
清理缓存+重新同步
很多时候都是缓存搞的鬼!先点Android Studio右上角的「Sync Project with Gradle Files」按钮重新同步项目。如果还是不行,就彻底清理缓存:
点击File > Invalidate Caches / Restart,选择「Invalidate and Restart」,等AS重启后再同步一次,这招能解决80%的依赖缓存问题。排查网络和代理问题
依赖要从远程仓库下载,网络不通或者代理配置错误肯定拉不下来。你可以:- 测试下能不能正常访问Google相关网站,确保网络没问题
- 检查Android Studio的代理设置:
File > Settings > Appearance & Behavior > System Settings > HTTP Proxy,如果用了代理就确认地址、端口、认证信息都正确,或者暂时关掉代理试试直连
迁移到AndroidX(推荐长期方案)
毕竟support库已经停止维护了,换成AndroidX能一劳永逸解决旧库的各种问题。步骤很简单:- 在项目根目录的
gradle.properties里添加这两行:android.useAndroidX=true android.enableJetifier=true - 把app模块build.gradle里的
com.android.support:appcompat-v7:27.1.1替换成AndroidX的对应依赖:implementation 'androidx.appcompat:appcompat:1.6.1' // 可以用最新的稳定版
同步项目后,Jetifier会自动帮你转换其他依赖到AndroidX版本。
- 在项目根目录的
内容的提问来源于stack exchange,提问作者Mohsen

