如果从 Play 商店下载,游戏服务不适用于应用程序

Game services not working for app if downloaded from play store

长期以来,我一直在努力让游戏服务正常运行。我的问题是游戏服务不适用于从 Play 商店下载的版本,但在直接从 android studio 下载的版本上游戏服务运行良好。即使两个版本使用相同的密钥并具有相同的 SHA1 代码(发布 SHA1 代码)。我通过比较来自 android-release.apk 和 https://console.developers.google.com/apis/credentials/oauthclient 的 SHA1 代码,检查了我的应用程序的 Play 商店版本的 SHA1 是否与游戏服务的 SHA1 相匹配。我怀疑问题出在我的应用程序代码上,因为它在直接从 android studio.

下载的版本中完美运行

所以我的问题是我可能在这里做错了什么,以及如何解决它。

感谢阅读

我遇到了同样的问题:

你需要使用这个:

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

示例:

keytool -exportcert -keystore D:\Hristijan\Aplikacii\Keystore\blabla.jks -list -v

这是您在构建 APK 文件时创建密钥库的路径。

问题是我们在 OAuth 2.0 客户端 ID 中使用 SHA1 密钥进行调试,据我所知,用于调试和发布的 SHA1 是不同的。

因此,在获得发布的 SHA1 之后,您可以转到 google 云平台,并在凭据中为您的应用更改 SHA1。

使用 Google Play 服务 SDK 时,请检查并确保您的设备也兼容并运行 Android 4.0 或更高版本,并且包括 Google Play 商店。

查看此 documentation for more information. And, this article,其中讨论了将 Google Play 服务与您的 Android OS 版本匹配也可能有所帮助

首先,我要感谢所有花时间 post 回答的人。我认为没有人能猜出我的愚蠢错误,因为它只适用于 libGDX 用户。问题是 BaseGameUtils 的 gradle.build 文件中的目标 sdk 与 android 模块的 .build 文件不同。令人惊讶的是,这么小的一个错误竟然会耗费你整个周末的时间!