无法解析符号default_web_client_id GoogleSignInOptions Android Firebase

Sub*_*abu 4 android firebase firebase-authentication google-signin

我的项目在过去的六个月里运行良好,并且在app商店中运行.对于更新,我重新打开项目,显示default_web_client未解析以下代码段

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                .requestEmail()
                .build();
Run Code Online (Sandbox Code Playgroud)

我尝试以下方法,

1.清洁和重建

2.清除缓存并重新启动

3.设置getString(R.string.default_web_client_id)为空字符串并运行项目以生成

app/build/generated/res/google-services/{build_type}/values/values.xml
Run Code Online (Sandbox Code Playgroud)

文件作为链接的指令

4.用空格替换空字符串 getString(R.string.default_web_client_id)

现在我能够运行项目并且还能够进行发布构建.但仍然无法解析符号default_web_client_id.

任何更新都会有所帮助......

注意:直接添加oauth_client->client_id会出错

W/GoogleActivity: Google sign in failed
    com.google.android.gms.common.api.ApiException: 12500: 
        at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source) 
Run Code Online (Sandbox Code Playgroud)

Nav*_*r M 6

我已将谷歌服务版本更新为项目级build.gradle中的最新版本并且工作正常

classpath 'com.google.gms:google-services:4.2.0
Run Code Online (Sandbox Code Playgroud)


小智 5

我和你一样有同样的问题.更新Android工作室后,它收到错误.无需修复,因为Google会尝试让您的应用越来越安全.如果您尝试为default_web_client_id创建另一个值,它将显示错误dupplicate变量.要查找default_web_client_id的值*更改模式为Project - > app - > build - > generated - > google-services - > debug - > values - > values.xml.因此,这在编译时不会导致错误,您无需修复它.让谷歌稍后修复它:D


Qal*_*ain 3

我的代码也遇到同样的问题

Cannot resolve symbol 'default_web_client_id'
Run Code Online (Sandbox Code Playgroud)

我已尝试将 clientID 作为参数而不是 R.string.default_web_client_id)

.requestIdToken(*My Client Id*)
Run Code Online (Sandbox Code Playgroud)

并在调试代码中得到以下内容

W/System.err: com.google.android.gms.common.api.ApiException: 12500:
Run Code Online (Sandbox Code Playgroud)

我已将谷歌服务更新到项目级别 build.gradle 的最新版本(google-serivces:4.2.0)

!对我有用的解决方案!

  1. 登录开发者控制台

  2. 凭证 > 创建凭证 > API 密钥

  3. 从 Firebase 下载新的 google-services.json(项目概述 > 用户和权限 > 常规向下滚动
  4. 将新的 google-services.json 加载到 Project>app 中
  5. 将客户端 ID 替换为从 google-services.json oauth_client>client_id 生成的新客户端 ID注意:将客户端 ID 与 client_type 3 一起使用
.requestIdToken(*My New Client Id*)
Run Code Online (Sandbox Code Playgroud)

6.运行您的应用程序:)