news 2026/1/11 16:24:16

Google 登录问题排查指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Google 登录问题排查指南

📋 问题描述

症状:Flutter 应用通过 Google Play 下载安装后,点击 Google 登录按钮报错:

GoogleSignInException(code GoogleSignInExceptionCode.canceled, [16] Account reauth failed., null)

环境

  • Flutter + google_sign_in 插件
  • 应用以 AAB 格式上传到 Google Play
  • 用户从 Google Play 下载安装

🔍 排查过程

第 1 步:添加调试日志

由于 Release 模式下print()不输出日志,创建了一个日志收集器在应用内显示错误详情:

import 'dart:developer' as developer; class GoogleAuthLogger { static final List<String> _logs = []; static void log(String message) { final timestamp = DateTime.now().toString().substring(11, 19); final entry = '[$timestamp] $message'; _logs.add(entry); developer.log(message, name: 'GoogleAuth'); } static String getLogs() => _logs.join('\n'); static void clear() => _logs.clear(); }

在 UI 中添加"查看调试日志"按钮,登录失败时显示详细日志。

第 2 步:定位问题

通过日志发现错误发生在Google 原生认证阶段(还没到 Supabase):

[22:46:47] 📱 触发 Google 登录界面 [22:46:49] ❌ Google 认证失败: GoogleSignInException(code GoogleSignInExceptionCode.canceled, [16] Account reauth failed., null)

错误码[16] Account reauth failed表示SHA-1 指纹不匹配

第 3 步:检查 SHA-1 配置

检查本地 Release keystore 的 SHA-1:

keytool -list -v -keystore ~/linguadiary-release-key.jks -alias linguadiary-key-alias

输出:

SHA1: 13:0X:62:E7:BE:32:F4:E4:C1:0C:D6:04:BA:15:F7:BD:7D:49:13:C9

Google Cloud Console 中的 Android OAuth Client 已配置这个 SHA-1,但还是失败...

第 4 步:发现根本原因

应用是以AAB 格式上传到 Google Play 的,Google Play 会用自己的密钥重新签名 APK

这意味着用户下载的 APK 签名与本地 keystore 不同。

🔑 关键知识:两个证书的区别

证书SHA-1谁持有用途
Upload Key(上传密钥)13:0F:61:E7:...开发者本地上传 AAB 到 Google Play 时验证身份
App Signing Key(应用签名密钥)DC:B4:A6:04:...Google 服务器给用户下载的 APK 签名

流程图

开发者电脑 Google Play 用户手机 │ │ │ │ 1. 用 Upload key 签名 │ │ │ AAB 上传 │ │ ├──────────────────────────►│ │ │ │ 2. Google 用 │ │ │ App signing key │ │ │ 重新签名 APK │ │ ├──────────────────────────►│ │ │ │ │ │ 用户安装的 APK │ │ │ 签名 = App signing key│

✅ 解决方案

1. 获取 App Signing Key 的 SHA-1

  1. 打开 Google Play Console
  2. 选择应用 →Test and releaseApp integrity
  3. 点击Play app signingSettings
  4. 找到App signing key certificate的 SHA-1

2. 更新 Google Cloud Console

  1. 打开 Google Cloud Console - Credentials
  2. 编辑 Android Release OAuth Client
  3. 将 SHA-1 改为 App signing key 的 SHA-1
  4. 保存

3. 清除 Google Play 服务缓存(测试设备)

由于之前用错误的 SHA-1 尝试过登录,手机缓存了旧配置:

  1. 手机设置应用Google Play 服务
  2. 存储清除缓存
  3. 重新测试

⚠️ 注意:普通用户不需要这一步,只有测试设备因缓存旧数据才需要清除。

📌 经验总结

  1. AAB 上传 = Google 重新签名:必须使用 App signing key 的 SHA-1
  2. APK 直接安装:使用 Upload key 的 SHA-1
  3. Release 模式调试:使用dart:developerlog()函数
  4. 缓存问题:测试时如遇问题,清除 Google Play 服务缓存

🔧 调试检查清单

  • [ ] 确认 OAuth 同意屏幕已配置并发布(或测试账号已添加)
  • [ ] 确认 Android OAuth Client 的包名正确
  • [ ] 确认使用正确的 SHA-1(Google Play 下载用 App signing key)
  • [ ] 确认 Web Client ID 用于serverClientId参数
  • [ ] 测试设备清除 Google Play 服务缓存
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/29 23:34:49

豆包手机来了:重新定义手机,也重写了测试人的工作

12 月初&#xff0c;豆包手机低调上线&#xff0c;首批仅几万台&#xff0c;官方定位是“测试机”&#xff0c;但它带来的行业震动不容忽视。 豆包手机不是字节自研&#xff0c;而是与多家手机厂商合作生产&#xff0c;核心亮点在于 豆包超级助手——一个全新形态的 AI 助手&a…

作者头像 李华
网站建设 2025/12/23 2:53:57

掌握这4步,轻松实现MCP AZ-500 Agent的安全自动化防护

第一章&#xff1a;MCP AZ-500 Agent安全防护概述在现代云环境中&#xff0c;Azure安全中心&#xff08;Microsoft Defender for Cloud&#xff09;通过部署MCP AZ-500 Agent实现对虚拟机和工作负载的深度安全监控。该代理程序作为核心组件&#xff0c;负责收集系统日志、执行漏…

作者头像 李华
网站建设 2026/1/3 21:18:44

ce复习-远程登录服务

远程登陆服务器简介概念远程连接服务器通过文字或图像接口方式来远程登陆系统功能分享主机的运算能力服务器类型&#xff1a;有限度开放连接工作站类型&#xff1a;只对内网开放分类文字接口&#xff1a;纯文字指令的操作方式图形接口XDMCP、VNC、XRDP等文字接口连接服务器SSH&…

作者头像 李华
网站建设 2025/12/24 1:32:36

分布式理论的认知重构:CAP 与 BASE 的真相、边界与实践逻辑

目录 一、CAP 理论&#xff1a;被泛化的 “分布式存储专属法则” 1.1 三大特性的精准定义与本质 1.2 核心误区&#xff1a;“三选二” 实为 “P 前提下的 C/A 二选一” 1.3 关键事实&#xff1a;90% 分布式系统无需实践 CAP 二、BASE 理论&#xff1a;ACID 的 “分布式替代…

作者头像 李华
网站建设 2025/12/24 1:00:12

智能排程引擎实战避坑指南:OptaPlanner与Timefold深度解析

智能排程引擎实战避坑指南&#xff1a;OptaPlanner与Timefold深度解析 【免费下载链接】awesome-java A curated list of awesome frameworks, libraries and software for the Java programming language. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-java …

作者头像 李华
网站建设 2025/12/27 15:44:05

【完整源码+数据集+部署教程】厨房头巾佩戴检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着社会经济的发展和人们生活水平的提高&#xff0c;食品安全和卫生问题日益受到重视。在餐饮行业&#xff0c;厨房工作人员的卫生习惯直接影响到食品的安全性和消费者的健康。因此&#xff0c;厨房头巾的佩戴成为了餐饮行业卫生管理的重要环节之一。厨房头巾不仅…

作者头像 李华