Flutter Google Sign-In真机发布模式失效,模拟器正常,报PlatformException求助
Flutter Google Sign-In 发布模式真机失败(错误g1.b:10)解决方案
确认发布版签名指纹配置
用命令生成发布版的SHA-1和SHA-256密钥指纹:keytool -list -v -keystore 你的发布密钥库路径 -alias 你的密钥别名将生成的两个指纹同时添加到Google Cloud控制台的OAuth 2.0客户端ID(对应安卓应用的发布版客户端),以及Firebase控制台的项目设置-安卓应用的签名指纹列表中。注意不要混用调试版和发布版的指纹。
更新google-services.json文件
在Firebase控制台重新下载最新的google-services.json文件,替换项目android/app目录下的旧文件。确保发布版构建时该文件被正确读取,没有被构建脚本排除。检查OAuth同意屏幕状态
进入Google Cloud控制台的OAuth同意屏幕页面:- 如果处于测试状态,只有添加的测试用户能完成登录,需将真机上使用的Google账号添加到测试用户列表;
- 若要面向所有用户使用,需将同意屏幕发布为正式状态(需完成Google的审核流程)。
修复发布版构建配置
- 在
android/app/build.gradle中确保正确配置了发布版签名信息:signingConfigs { release { keyAlias '你的密钥别名' keyPassword '你的密钥密码' storeFile file('你的密钥库文件路径') storePassword '你的密钥库密码' } } buildTypes { release { signingConfig signingConfigs.release // 其他发布版配置 } } - 在
proguard-rules.pro中添加Google Sign-In的混淆规则,避免核心代码被混淆:-keep class com.google.android.gms.auth.api.signin.** { *; } -keep class com.google.android.gms.common.api.** { *; } -keep class com.google.android.gms.tasks.** { *; }
- 在
重新构建并安装
执行命令重新生成发布版安装包:flutter build apk --release安装前卸载真机上的旧版本,避免缓存冲突后再安装新包测试。
内容的提问来源于stack exchange,提问作者fazilSizzlers
相关产品推荐
相关产品推荐

