【问题标题】:Game services not working for app if downloaded from play store如果从 Play 商店下载,游戏服务不适用于应用程序
【发布时间】:2017-05-22 19:25:18
【问题描述】:

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

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

感谢您的阅读

【问题讨论】:

标签: android android-studio google-play-services google-play-games google-console-developer


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    请参阅此documentation 了解更多信息。而且,article 讨论了将 Google Play 服务与您的 Android 操作系统版本匹配的问题,也可能会有所帮助

    【讨论】:

    • 我有一个普通的 Galaxy s4 和 Android OS 5.1,当然,它有 google play 商店。我怀疑这是问题所在,对于其他设备上的其他人,游戏服务也不适用于我的游戏。
    【解决方案3】:

    我遇到了同样的问题:

    你需要使用这个:

    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 后,您可以访问谷歌云平台并在 Credentials 中为您的应用更改您的 SHA1。

    【讨论】:

    • 这似乎是一个完全合理的回应。为什么要投反对票?
    • 我不是那个投反对票的人,我什至没有足够的声誉来做到这一点......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多