发布 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 登录不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用firebase和flutter登录google后获取用户详细信息