发布 Flutter 应用后,Google 登录不起作用

Posted

技术标签:

【中文标题】发布 Flutter 应用后,Google 登录不起作用【英文标题】:Google sign in doesn't work after release of flutter app 【发布时间】:2019-04-15 05:42:42 【问题描述】:

我用 Flutter 开发了一个应用程序,并在我的设备上使用以下命令进行了测试:

flutter run --release

一切正常。 我还尝试使用以下方法构建应用程序:

flutter build apk --release

手动安装,一切正常。 我在商店上传了,现在登录不起作用了。 我尝试查看 logcat,当我尝试登录时得到的错误是:

I/flutter: exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)

我尝试添加 appCompat 依赖项并检查了 SHA1 密钥,一切都在正确的位置,我不知道为什么当我从商店下载时它不再工作了。

【问题讨论】:

【参考方案1】:

对于那些遇到此类问题的人,他们最好查看分配给他们的 firebase 帐户的 SHA 证书指纹。 需要发布和调试 SHA 证书指纹。 为此,您可以:

    导航到项目中的 android 文件夹 运行此命令 ./gradlew signingReport 查找发布 SHA 证书指纹 查找调试 SHA 证书指纹 将它们添加到 Firebase 帐户 SHA 证书指纹 重新下载 google-services.json 将其添加到您的应用级文件夹 大功告成!

【讨论】:

感谢@Reza 你拯救了我的一天 欢迎您@JaveedIshaq :)【参考方案2】:

您可能需要向 API 提供商(在本例中为 Firebase)注册您的 Play 商店应用签名密钥。

    在您的 Google Play 控制台中,访问设置 > 应用签名

    复制SHA-1 certificate fingerprint

    在您的 Firebase 控制台中,访问设置 > 项目设置

    点击Add fingerprint

    将复制的SHA-1 certificate fingerprint 粘贴到Certificate fingerprint 文本字段中

    点击Save

【讨论】:

我的朋友就像一个魅力一样工作。谢谢 另外,如果有人想知道,菜单名称更改为 -> 应用签名中的应用完整性 谢谢,以后有空会更新截图。 应用程序完整性!!拯救了我的一天! 在我的情况下,使用“应用签名密钥证书”下方的“上传密钥证书”的 SHA-1 证书指纹【参考方案3】:

转到您的 google play 控制台,在发布管理中,您会找到应用签名,下面有两个 sha 密钥,将它们没有 sha 部分复制到 firebas 项目 SHA 证书指纹 apk 之后将起作用。

【讨论】:

【参考方案4】:

您的应用可能没有用于 Token API 的正确 Google 凭据。

当您第一次在 Google Play 管理中心注册时,您可能选择了 Google 的应用签名服务。这样做的目的是,在您使用密钥库签署您的应用并将其上传到 Play 管理中心后,Google 将使用生成的密钥库签署您的应用并推出该版本。您可以从控制台访问用于签署发行版本的密钥,在发行管理 -> 应用签名 -> 应用签名证书下。

找到证书后,您需要使用 SHA1 密钥并生成新的 Android Oauth 凭据,然后将其添加到您的 google-services.json。如果您不使用 Firebase,则还必须将 Oauth 凭据添加到您的后端。

如果您查看 HarshitG 在此 Android 线程上对同一问题的回答,您会看到一张图片,说明您可以在 Play 管理中心获取证书信息。

google signIn not working in release mode apk android

【讨论】:

以上是关于发布 Flutter 应用后,Google 登录不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Flutter iOS 应用需要 Google 登录密码

Flutter google 登录 保持登录状态

使用firebase和flutter登录google后获取用户详细信息

Flutter Firebase Android/ios Google 登录错误

Flutter Firebase 不保留用户身份验证

在 Flutter 中保存登录 google 时出错 [重复]