与谷歌Androidlogin不工作在释放apk

我在应用程序中添加了Google Sign,并按照官方文档中的所有步骤进行工作。 一切正常,直到我生成一个签名的apk发布。 该应用程序无法login

Log.d(TAG,“handleSignInResult:”+ result.isSuccess());

在SignInActivity.java的handleSignInResult()中赋值为false

我已经在开发人员控制台上注册了该应用程序,并提供了用于debugging密钥以及释放密钥的SHA1密钥。 我无法解决这个问题,也找不到任何相关的文件。

  • 如何保存Android应用程序的login细节?
  • 我需要用户的电子邮件地址,成功的Facebooklogin后,使用SDK 4.0的Android
  • Cookies和Webview - Android中的CookieSyncManager!
  • GoogleSignInResult使用Firebase在Android应用中返回DEVELOPER_ERROR
  • Android - 在软键盘上捕捉“完成”和“回车”键事件
  • Facebook的SSO和第三方网站注册一步到位?
  • 这个应用程序没有configurationAndroid密钥散列。 - 使用Facebook SDK进行login
  • Android:如何通过Google Sign-In API获取刷新令牌?
  • 终于解决了。 我在注册项目下的Google Developers Console中为我的释放键( .jks文件)添加了SHA1键。 在Android Studio中,在左侧,在项目视图下有一个生成变体的选项。 在那里,我将每个模块更改为release模式(默认情况下处于debug模式)。 然后通过常规方法创build签名APK,然后运行该应用程序。 Google Signin运作完美。

    更改构建变体

    当您将apk上传到Play商店时,Play商店会创build一个名为“应用程序签名证书”的新SHA1密钥。 您可以获得该SHA1并保存在您的控制台或Firebase帐户中(如果需要)。

    在您的播放控制台的“发布pipe理 – >应用程序签名”中将find新的SHA1。

    要么

    当你使用你的filename.jks创build已签名的apk时,它与你的debug apk具有不同的SHA,把这些由签名的apk生成的SHA放到Firebase中,然后更新它,然后再从firebase下载json,并从你的android studio中覆盖现有的json。