Android Studio 3.3.1集成Google定位依赖遇Gradle同步错误求助
解决Google Play Services Location依赖解析失败与Compile过时警告问题
我来帮你一步步搞定这两个问题:
一、先处理「Configuration 'compile' is obsolete」警告
这个问题很直白,Google早在2018年底就弃用了compile这个依赖配置,现在官方推荐用implementation或api来替代:
- 把你原来的依赖声明:
替换成:compile 'com.google.android.gms:play-services-location:16.1.0'implementation 'com.google.android.gms:play-services-location:16.1.0' - 简单说下区别:
implementation会让依赖只在当前模块生效,不会传递给上层模块,更符合依赖隔离的设计;api则和旧的compile逻辑类似,会把依赖暴露给引用当前模块的上层模块。如果只是你当前模块用到定位服务,用implementation就完全足够了。
二、解决「Failed to resolve: com.google.android.gms:play-services-location:16.1.0」错误
点击安装仓库无效的话,大概率是项目仓库配置有问题,或者必要的SDK组件没装全,按下面的步骤排查:
1. 检查项目根目录的build.gradle配置
打开项目根目录下的build.gradle文件,确保allprojects里的repositories块包含google()仓库——Google的Play服务依赖必须从这个仓库拉取:
allprojects { repositories { google() // 必须添加这个仓库 jcenter() // 或者mavenCentral(),根据你的项目版本选择其一即可 } }
注意:如果你用的Android Studio 3.3.1版本比较旧,也可以用maven { url 'https://maven.google.com' }替代google(),二者是等价的。
2. 检查SDK管理器中的必要组件
打开Android Studio的SDK管理器(路径:File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK),切换到「SDK Tools」标签:
- 确认「Google Play Services」和「Google Repository」已经安装,且版本能支持
play-services-location:16.1.0 - 如果已经安装,尝试点击「Apply」重新安装一次,修复可能存在的组件损坏问题
3. 清理缓存并重启Android Studio
有时候Gradle缓存会导致依赖解析异常,执行以下操作:
- 点击顶部菜单栏的File -> Invalidate Caches / Restart
- 在弹出的窗口中选择「Invalidate and Restart」
- 等待AS重启完成后,重新执行Gradle同步
完成以上步骤后,应该就能成功解析依赖了。
内容的提问来源于stack exchange,提问作者Ahmad
相关产品推荐
相关产品推荐

