Android Studio 4.0.1添加空白Fragment后Gradle同步依赖解析失败
androidx.legacy:legacy-support-v4:1.0.0依赖无法解析的问题 我帮不少刚升级Android Studio的开发者解决过类似问题,你遇到的这个Gradle同步报错,大概率是Google Maven仓库配置不全或者依赖版本兼容性不匹配导致的,试试下面这几个解决方案:
1. 先检查项目根目录的build.gradle配置
AndroidX的所有依赖都托管在Google Maven仓库里,如果你的项目没配置这个仓库,就会出现依赖找不到的情况。打开项目根目录下的build.gradle(注意不是模块里的那个),确认两个repositories块都包含google():
buildscript { ext.kotlin_version = "1.3.72" // 换成你项目里实际使用的Kotlin版本 repositories { google() // 必须添加这个,放在jcenter前面更稳妥 jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.0.1" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() // 这里也要确保有google() jcenter() } }
2. 升级或替换legacy-support-v4依赖
androidx.legacy:legacy-support-v4:1.0.0是比较早期的过渡版本,和你当前用的compileSdkVersion 30、appcompat:1.2.0等新AndroidX库可能存在版本冲突,给你两个可选方案:
方案A:升级到兼容版本
如果一定要保留这个聚合库,可以尝试使用与其他AndroidX版本匹配的稳定版(目前该库的最新稳定版仍为1.0.0,若还是报错,可尝试临时使用1.0.0-beta01过渡)。
方案B:替换为细分的AndroidX独立库
legacy-support-v4是聚合了多个组件的过渡库,现在官方更推荐直接引用你实际需要的具体库,既减少APK体积,也避免版本冲突:
- 如果用到Fragment相关功能:
implementation 'androidx.fragment:fragment-ktx:1.3.0' - 如果用到ViewPager:
implementation 'androidx.viewpager:viewpager:1.0.0' - 如果用到DrawerLayout:
implementation 'androidx.drawerlayout:drawerlayout:1.1.1'
你可以根据自己项目的实际需求,替换掉原来的implementation 'androidx.legacy:legacy-support-v4:1.0.0'。
3. 清理Gradle缓存并重新同步
有时候本地Gradle缓存损坏也会导致依赖解析失败,执行以下步骤:
- 点击Android Studio顶部菜单栏的
File → Invalidate Caches / Restart - 在弹出的窗口中选择
Invalidate and Restart,等待Studio重启 - 重启完成后,点击工具栏的
Sync Project with Gradle Files按钮重新同步
4. 检查是否开启了Gradle离线模式
如果你的Android Studio开启了离线模式,会无法从远程仓库下载依赖。可以通过以下路径关闭:File → Settings → Build, Execution, Deployment → Build Tools → Gradle,取消勾选Offline work选项,然后重新同步项目。
按照上面的步骤操作后,应该就能解决这个依赖无法解析的问题了。
内容的提问来源于stack exchange,提问作者saeed-pasa

