升级Google Services Plugin至3.2.0后Gradle构建失败求助
我之前也碰到过这个坑,Google Services Plugin 3.2.0版本对google-services.json的查找和校验逻辑做了调整,新增的getJsonLocations方法正是触发这个报错的核心原因。结合我当时的排查经验,给你几个可行的解决方向:
先确认
google-services.json的位置是否合规
3.2.0版本对配置文件的存放路径要求更严格了:- 单模块项目:必须放在主模块(比如
app/)的根目录下,别放到src/main/或者其他子文件夹里 - 多模块项目:每个需要用到Google服务的模块,都要在自己的根目录放对应的
google-services.json,如果想共享配置,得在Gradle里显式指定路径,不能依赖插件自动查找
- 单模块项目:必须放在主模块(比如
校验
google-services.json的格式完整性
有时候配置文件可能因为下载不完整、手动修改出错导致格式问题。建议直接去Firebase或Google Cloud控制台重新下载最新的配置文件,替换掉现有文件,确保JSON结构没有语法错误,必要字段(比如project_info、client)都存在。检查Gradle配置的细节
先确认根目录build.gradle里的classpath配置没有拼写错误,还要确保仓库配置正确:buildscript { repositories { google() jcenter() } dependencies { classpath 'com.google.gms:google-services:3.2.0' // 其他依赖... } }另外,主模块的
build.gradle必须在末尾正确应用插件(要放在所有依赖声明之后):// 其他配置... apply plugin: 'com.google.gms.google-services'清理缓存并强制重新同步
Android Studio的缓存有时候会搞事情,试试这几步:- 点击
File > Invalidate Caches / Restart,选择Invalidate and Restart,彻底清理缓存后重启IDE - 手动删除项目根目录的
.gradle文件夹和各个模块下的build文件夹 - 重新点击工具栏的
Sync Project with Gradle Files按钮
- 点击
多模块项目的特殊处理
如果是多模块架构,3.2.0版本的插件可能无法自动识别跨模块的配置文件。可以在根目录的build.gradle里显式指定JSON文件路径:googleServices { jsonFile file('/your/project/path/google-services.json') }或者给每个需要的模块单独放置正确的配置文件。
临时降级方案
如果以上方法都没解决,可以先回退到3.1.1版本稳住开发进度,同时关注Google的官方更新,看看是不是版本本身的bug:classpath 'com.google.gms:google-services:3.1.1'
内容的提问来源于stack exchange,提问作者Kuffs

