更新Google Play Services GCM时遇到依赖找不到的错误
解决Play Services GCM 12.0.0依赖找不到的问题
嘿,这个问题我之前帮人排查过,大概率是你的项目没配置Google官方的Maven仓库,导致Gradle没法拉取到这个版本的依赖包。下面是一步步的修复方案:
1. 检查项目根目录的build.gradle
打开项目最外层的build.gradle文件(别搞错成app模块下的那个),确保allprojects里的repositories块包含Google的仓库:
allprojects { repositories { google() // Gradle 4.0+ 可以用这个简写 // 如果你的Gradle版本低于4.0,就换成下面这行: // maven { url 'https://maven.google.com' } jcenter() // 其他你需要的仓库... } }
Google从Play Services 9.0开始就把依赖包放到自己的Maven仓库里了,12.0.0版本的GCM依赖只在这个仓库里有,所以必须加上这个配置。
2. 优化依赖声明(可选但推荐)
从Play Services 10.2.0开始,Google就推荐用implementation替代旧的compile关键字了(compile已经被标记为废弃),所以你可以把依赖改成:
implementation 'com.google.android.gms:play-services-gcm:12.0.0'
如果你的Gradle版本还比较旧,compile也能凑合用,但还是建议尽早切换到implementation,避免后续版本兼容性问题。
3. 同步项目+清理缓存
- 先点击Android Studio工具栏上的Sync Project with Gradle Files按钮,让Gradle重新拉取依赖
- 如果还是报错,试试清理缓存:点击顶部菜单栏的
File->Invalidate Caches / Restart,选择Invalidate and Restart,等Studio重启后再同步一次
额外提醒:GCM已被FCM替代
最后说个重要的点:Google Cloud Messaging(GCM)已经被Firebase Cloud Messaging(FCM)彻底取代了,从Play Services 15.0.0开始,play-services-gcm就不再更新维护了。如果你的项目还在使用GCM,建议尽快迁移到FCM,这样能获得官方持续的支持和新功能哦。
内容的提问来源于stack exchange,提问作者androidneil
相关产品推荐
相关产品推荐

