首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flutter Google 登录失败问题排查与解决方案

Flutter Google 登录失败问题排查与解决方案

原创
作者头像
用户1796838
修改2026-03-20 11:54:39
修改2026-03-20 11:54:39
1680
举报

问题描述

在国产 Android 手机(如红米)上使用 Flutter 的 google_sign_in 7 x 插件进行 Google 账号登录时,出现以下错误:

文本

代码语言:txt
复制
 I/CredManProvService(19670): GetCredentialResponse error returned from framework
E/flutter (19670): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: GoogleSignInException(code GoogleSignInExceptionCode.canceled, [16] Account reauth failed., null)
E/flutter (19670): #0      GoogleSignInAndroid._authenticate (package:google_sign_in_android/google_sign_in_android.dart:231:9)
E/flutter (19670): <asynchronous suspension>
E/flutter (19670): #1      GoogleSignInAndroid.authenticate (package:google_sign_in_android/google_sign_in_android.dart:93:57)
E/flutter (19670): <asynchronous suspension>
E/flutter (19670): #2      GoogleSignIn.authenticate (package:google_sign_in/google_sign_in.dart:545:44)
E/flutter (19670): <asynchronous suspension>
E/flutter (19670): #3      _MainTabPageState._onTabTapped (package:astrology_tarot/pages/main_tab_page.dart:38:35)
E/flutter (19670): <asynchronous suspension>
E/flutter (19670): 
I/flutter (19670): GoogleSignInException(code GoogleSignInExceptionCode.canceled, [16] Account reauth failed., null)
I/app.moona.com(19670): Thread[2,tid=23676,WaitingInMainSignalCatcherLoop,Thread*=0xb4000074e30612c0,peer=0x79c812d8,"Signal Catcher"]: reacting to signal 3

核心特征:

错误代码为 canceled,但实际并非用户主动取消

伴随系统日志 CredManProvService 报错

设备已安装 Google 服务框架 (GMS) 并开启 (xxx)

在真机(尤其是国产 ROM)上复现,模拟器或国际版手机可能正常

根本原因

此问题主要由 网络环境与 Android 系统凭据管理器的兼容性问题 导致:

(xxx) 代理不完整: (xxx) 处于“规则模式”或“智能模式”,未能代理 Google Play Services 系统进程的流量,导致其无法连接 Google 服务器验证账号。

国产 ROM 限制:MIUI/HyperOS 等对 GMS 进行了深度定制,系统级账号同步和凭据刷新机制不稳定。

本地会话过期:设备上缓存的 Google 账号令牌已过期,但在受限网络环境下无法自动刷新,触发 Account reauth failed。

解决方

✅ 方案一:调整 (xxx) 为全局模式(推荐首选)

打开你的 (xxx) 应用

将连接模式从 “规则模式”/“智能模式” 切换为 “全局模式 (Global Mode)”

彻底关闭并重新启动你的 Flutter 应用(从后台完全划掉)

再次尝试 Google 登录

原理:确保 Google Services 系统进程的所有网络请求都通过 (xxx) 隧道,

✅ 方案二:

进入手机 设置 → 搜索 谷歌

找到 Google 基础服务开启

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档