为什么我部署的 Android 应用程序不能登录到 Google Play 服务,而我的调试应用程序可以?
Why doesn't my deployed Android app sign into Google Play Services, while my debug app does?
我的 Android 应用登录 Google Play 游戏服务似乎无提示失败:在登录 activity 中选择用户后,onActivityResult()
收到 resultCode
值为 10002。Android API 将这些消息存放在 logcat:
W/SignInActivity(16216): onSignInFailed()...
W/SignInActivity(16216): Sign in failed during 6
W/SignInActivity(16216): ==> Returning non-OK result: 10002
我在 onActivityResult()
中放置的 Log.w() 命令存放这些消息:
W/Main activity(16167): In activity result with code 10002
W/Main activity(16167): activity result requests sign in
W/Main activity(16167): unsolved resolution
奇怪的是它曾经工作,当我尝试从 Android Studio 调试它时,登录工作完美每次,所以我可以'甚至调试应用程序!
我在哪里可以开始调试这个?
感谢 我找到了解决方案,但这种情况不同,因为它是由 Google Play Developer Console 中激活的功能引起的。
这个特定错误的关键是:
- 生产应用程序 曾经 正常工作,但现在不能正常工作了。
- 调试版本仍然工作正常。
早在 5 月份,Google 引入了一项功能,其中 they sign your app in the Play Store。我的原始应用程序是使用 Android Studio 生成的证书签名的,但是 Google 似乎对他们的签名非常热心,所以我没有仔细阅读细则就切换到那个。结果:
- 对于调试应用程序,Google Play Games API 需要调试证书,而 Android Studio 仍然使用该证书生成调试 apk,因此游戏 API 在调试时例行接受登录。
- 对于生产应用程序,API 需要 Android Studio 生成的生产证书,Android Studio 很乐意提供,但 Google Play 替换为自己的证书,因此游戏 API 经常拒绝登录。
解决方法是:
- 停止咒骂;
- 在 usual Play Store developer Console;
中访问发布管理下的应用程序签名选项
- 复制 "App signing certificate" 下的 SHA-1 指纹( 而不是 指纹 "Upload certificate" -- 这就是让你陷入困境的原因);
- 访问位于 Google's site for developers
的凭据页面
- select 你的应用程序
- 将您刚刚复制的证书粘贴到标记为 "Signing-certificate fingerprint." 的文本字段中(该字段本身位于一些关于如何从您的密钥库中提取它的说明 -- 不要 在 Google 签署您的应用程序时使用这些说明!)
在这一点上,部署的版本对我来说就像魔术一样有效。无需编程!
我的 Android 应用登录 Google Play 游戏服务似乎无提示失败:在登录 activity 中选择用户后,onActivityResult()
收到 resultCode
值为 10002。Android API 将这些消息存放在 logcat:
W/SignInActivity(16216): onSignInFailed()...
W/SignInActivity(16216): Sign in failed during 6
W/SignInActivity(16216): ==> Returning non-OK result: 10002
我在 onActivityResult()
中放置的 Log.w() 命令存放这些消息:
W/Main activity(16167): In activity result with code 10002
W/Main activity(16167): activity result requests sign in
W/Main activity(16167): unsolved resolution
奇怪的是它曾经工作,当我尝试从 Android Studio 调试它时,登录工作完美每次,所以我可以'甚至调试应用程序!
我在哪里可以开始调试这个?
感谢
这个特定错误的关键是:
- 生产应用程序 曾经 正常工作,但现在不能正常工作了。
- 调试版本仍然工作正常。
早在 5 月份,Google 引入了一项功能,其中 they sign your app in the Play Store。我的原始应用程序是使用 Android Studio 生成的证书签名的,但是 Google 似乎对他们的签名非常热心,所以我没有仔细阅读细则就切换到那个。结果:
- 对于调试应用程序,Google Play Games API 需要调试证书,而 Android Studio 仍然使用该证书生成调试 apk,因此游戏 API 在调试时例行接受登录。
- 对于生产应用程序,API 需要 Android Studio 生成的生产证书,Android Studio 很乐意提供,但 Google Play 替换为自己的证书,因此游戏 API 经常拒绝登录。
解决方法是:
- 停止咒骂;
- 在 usual Play Store developer Console; 中访问发布管理下的应用程序签名选项
- 复制 "App signing certificate" 下的 SHA-1 指纹( 而不是 指纹 "Upload certificate" -- 这就是让你陷入困境的原因);
- 访问位于 Google's site for developers 的凭据页面
- select 你的应用程序
- 将您刚刚复制的证书粘贴到标记为 "Signing-certificate fingerprint." 的文本字段中(该字段本身位于一些关于如何从您的密钥库中提取它的说明 -- 不要 在 Google 签署您的应用程序时使用这些说明!)
在这一点上,部署的版本对我来说就像魔术一样有效。无需编程!