You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Firebase谷歌登录报错ApiException:10求助

解决Firebase Google登录ApiException: 10错误(包名+SHA指纹重复问题)

问题背景

连续两天遇到Firebase Google登录失败,错误提示:

Google: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

已完成基础配置:

  • 生成并配置firebase_options.dart
  • 安装firebase-tools
  • 完成Android端gradle配置(android/build.gradle、app/build.gradle)
  • Firebase初始化代码正确
  • SHA密钥已多次确认无误

但创建OAuth客户端ID时,系统提示**"请求失败,Android包名和指纹已被使用"**,登录功能始终无法正常运行。

核心解决步骤

1. 核查现有OAuth客户端ID

  • 进入Google Cloud控制台(Firebase的OAuth凭据托管在此),定位到对应项目
  • 导航至API和服务 > 凭据
  • 查找所有Android类型的OAuth客户端ID,确认是否存在与当前项目包名+SHA指纹完全匹配的条目:
    • 若存在:无需重复创建,直接使用该客户端ID。重新下载Firebase的google-services.json(确保包含该凭据)并替换项目中的对应文件。

2. 处理重复凭据冲突

如果找到的重复客户端ID属于其他项目:

  • 若对应项目已废弃:直接删除该重复凭据,回到Firebase控制台重新生成当前项目的OAuth客户端ID
  • 若对应项目仍在使用:生成新的SHA指纹(比如切换debug/release签名文件,或创建新的签名密钥),用新指纹创建OAuth客户端ID

3. 校验签名与gradle配置一致性

  • 确认app/build.gradle中signingConfigs配置的签名文件(.jks)与生成SHA指纹时使用的文件完全一致
  • 检查buildTypes的签名配置关联是否正确:
    当前release buildType使用了signingConfigs.debug,若测试release包需改为对应release签名:
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
    

4. 清理缓存并重建项目

  • 执行Android Studio的Build > Clean Project和Build > Rebuild Project
  • 清除测试设备上应用的缓存和数据
  • 重启Android Studio与测试设备

5. 代码细节补全

确保正式代码中Firebase初始化传入正确配置:

await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);

内容的提问来源于stack exchange,提问作者user3926141

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:56:18