Android应用开发中构建Fragment时Gradle构建失败求助
Fixing "unable to resolve dependency for ':app@debug/compileClasspath': could not resolve com.android.support:support-v4:27.0.2" Error
我之前也碰到过这个一模一样的错误,几个实用的排查步骤帮你搞定:
先揪出最容易踩的拼写坑! 你写的依赖是
com.andriod.support:support-v4:27.0.2,注意是android不是andriod——少了一个字母d!先把依赖里的拼写改对,这是很多新手容易忽略的点。确保项目配置了Google Maven仓库
Android Support库是从Google的Maven仓库拉取的,打开项目根目录下的build.gradle文件,检查allprojects里的repositories块是否包含google():allprojects { repositories { google() // 这个必须配置,否则找不到Support库 mavenCentral() jcenter() // 可选,部分旧依赖仍在此仓库 } }检查SDK Manager里的Support Repository版本
打开Android Studio的Tools > SDK Manager,切换到SDK Tools标签,勾选Show Package Details,找到Android Support Repository,确保安装了27.x的对应版本(和你依赖的27.0.2匹配)。清理缓存并重建项目
有时候Gradle缓存会导致依赖解析异常,执行以下操作:- 命令行执行:
./gradlew clean(Windows系统用gradlew clean) - 在Android Studio中点击
Build > Rebuild Project
- 命令行执行:
推荐迁移到AndroidX(长期解决方案)
Android Support库已经停止维护,官方推荐使用AndroidX替代。如果你的项目允许迁移:- 将依赖替换为AndroidX版本:
androidx.core:core:1.7.0(可替换为最新稳定版) - 在
gradle.properties中添加以下配置开启AndroidX:android.useAndroidX=true android.enableJetifier=true
- 将依赖替换为AndroidX版本:
排查代理设置
如果你的网络使用了代理,可能导致Gradle无法访问Maven仓库。可以尝试关闭代理,或者在gradle.properties中配置正确的代理信息(若需要):systemProp.http.proxyHost=你的代理地址 systemProp.http.proxyPort=你的代理端口 systemProp.https.proxyHost=你的代理地址 systemProp.https.proxyPort=你的代理端口
内容的提问来源于stack exchange,提问作者Kamala Poojari
相关产品推荐
相关产品推荐

