升级com.google.gms:google-services至4.3.10出现default_web_client_id错误如何解决
报错根因
com.google.gms:google-services从4.3.9版本开始新增编译期校验逻辑,强制要求google-services.json配置文件中存在WEB类型的OAuth客户端ID,缺少该配置就会抛出default_web_client_id相关异常。4.3.8及更早版本无该校验逻辑,因此降级版本后报错会消失。报错不影响应用运行是因为你的业务代码没有实际引用插件自动生成的default_web_client_id字符串资源,仅编译期校验告警不会触发运行时崩溃。
修复方案
- 方案1:补全正式配置
登录谷歌云控制台或Firebase项目后台,在凭证页面获取对应项目的WEB类型OAuth客户端ID,将其添加到google-services.json的oauth_client数组中,重新构建项目即可消除报错。 - 方案2:添加占位配置(适用于业务无需使用WEB客户端ID的场景)
直接在app模块的res/values/strings.xml中添加如下占位配置,绕过插件校验:<string name="default_web_client_id" translatable="false">placeholder</string> - 方案3:禁用插件校验逻辑
在app模块的build.gradle文件中添加如下配置,关闭插件对缺失WEB客户端ID的报错检查:googleServices { disableMissingWebClientIdCheck = true }
内容的提问来源于stack exchange,提问作者Pawan Kumar
相关产品推荐
相关产品推荐

