发布Flutter应用后,Google登录无法正常运行

时间:2018-11-12 13:30:20

标签: firebase dart google-play flutter google-signin

我使用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密钥,一切都在正确的位置,我不知道为什么当我从商店下载时如果它不再起作用,

4 个答案:

答案 0 :(得分:16)

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

  1. 在您的 Google Play 管理中心中,访问设置 > 应用签名

  2. 复制SHA-1 certificate fingerprint

    Copy SHA-1 from Google Play App signing key certificate

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

  4. 点击Add fingerprint

    Add fingerprint in Firebase console

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

  6. 点击Save

    Paste SHA-1 certificate & save

答案 1 :(得分:4)

转到您的Google Play控制台,在发布管理中您会发现应用程序签名,其中有两个Sha键,将它们复制到Firebas项目中,而没有sha部分,SHA证书指纹apk将在此之后生效。

答案 2 :(得分:0)

您的应用可能没有针对令牌API的正确Google凭据。

首次登录Google Play控制台时,您可能选择了Google的应用签名服务。它的作用是,在您使用密钥库对应用程序进行签名并将其上传到Play控制台后,Google实际上将使用生成的密钥库对您的应用程序进行签名并推出该版本。您可以从控制台中的“发行管理”->“应用程序签名”->“应用程序签名证书”下访问用于签署发行版本的密钥。

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

如果您在有关同一问题的Android线程上查看HarshitG的答案,则可以看到一张图片,该图片可以在Play控制台上获取证书信息。

google signIn not working in release mode apk android

答案 3 :(得分:0)

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

  1. 导航到您项目中的 android 文件夹
  2. 运行这个命令 ./gradlew signatureReport
  3. 查找发布 SHA 证书指纹
  4. 查找调试 SHA 证书指纹
  5. 将它们添加到 firebase 帐户 SHA 证书指纹
  6. 重新下载 google-services.json
  7. 将其添加到您的应用级文件夹 大功告成!