登录与谷歌为Android不工作在发布apk

San*_*ket 13 android google-play-services google-signin

我已在我的应用程序中添加了Google登录,并按照官方文档中的所有步骤使其工作.一切正常,直到我生成一个签名的apk用于发布.该应用无法登录,

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

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

我已在开发人员控制台上注册了该应用程序,并为他们的调试密钥和发布密钥提供了SHA1密钥.我无法解决这个问题,也无法在文档中找到任何相关内容.

Ame*_*gre 18

当您将apk上传到Play商店时,Play商店会创建一个名为"App sign certificate"的新SHA1密钥.您获得SHA1并保存在控制台或firebase帐户中(根据需要).

新的SHA1将在您的播放控制台上的Released Management-> App Sigining中找到.

要么

当你使用你的filename.jks构建签名的apk时,它与你的调试apk有不同的SHA,把这些由firebase中的签名apk生成的SHA更新它,然后从firebase下载json并从你的android工作室覆盖现有的json.

  • 在 Playstore 中发布您的 apk 后,除非您将 Playstore 生成的 SHA1 放入您的 firebase 帐户,否则它不适用于您的 Google 服务。Firebase 调试 SHA 不同,发布 SHA 不同(签名 APK)Playstore SHA 不同。只有在您将 Playstore SHA 放入 Firebase 设置后,您的 Firebase 服务才能工作。我遇到了这个问题,当我在 Playstore 上发布我的应用程序时,它不适用于 google 登录服务,要使其正常工作,您必须将 Playstore 生成的 SHA1 放在 firebase 设置中。@VinayagaSundar (2认同)
  • 谢谢.我只需在Google Play应用中添加SHA1在firebase上签名并在应用上更新google_services.json.谢谢 (2认同)

San*_*ket 13

终于解决了.我.jks在注册项目下的Google Developers Console中为我的发布密钥(文件)添加了SHA1密钥.在Android Studio的左侧,项目视图下有一个Build变体选项.在那里,我将每个模块更改为release模式(debug默认情况下处于模式).然后通过常规方法创建签名APK,并运行该应用程序.Google Signin运行良好.

更改构建变体