无法为手动安装的APK登录Google Play服务

时间:2014-03-07 00:09:38

标签: android in-app-purchase google-play xamarin google-play-services

当我手动为我正在处理的应用安装APK时,我无法登录Google Play服务。屏幕上没有给出错误,但我知道它失败了,因为没有Google Play服务工作,“已连接”属性是错误的。

我使用 adb catlog 连接到正在运行的应用,并注意到此错误似乎相关:

E/SignInIntentService( 1266): Access Not Configured. Please use Google Developer
s Console to activate the API for your project.
E/SignInIntentService( 1266): dix
E/SignInIntentService( 1266):   at dec.a(SourceFile:151)
E/SignInIntentService( 1266):   at cqe.a(SourceFile:331)
E/SignInIntentService( 1266):   at cqe.a(SourceFile:312)
E/SignInIntentService( 1266):   at cph.a(SourceFile:634)
E/SignInIntentService( 1266):   at djo.a(SourceFile:250)
E/SignInIntentService( 1266):   at com.google.android.gms.games.service.GamesSig
nInIntentService.onHandleIntent(SourceFile:389)
E/SignInIntentService( 1266):   at android.app.IntentService$ServiceHandler.hand
leMessage(IntentService.java:65)
E/SignInIntentService( 1266):   at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/SignInIntentService( 1266):   at android.os.Looper.loop(Looper.java:137)
E/SignInIntentService( 1266):   at android.os.HandlerThread.run(HandlerThread.ja
va:61)
E/LoadSelfFragment(16340): Unable to sign in - application does not have a regis
tered client ID
W/SignInActivity(16340): onSignInFailed()...
W/SignInActivity(16340): ==> Returning non-OK result: 10004

可在此处找到完整日志:http://pastebin.com/KDFbJ4un

当我从Xamarin Studio运行应用程序时,我可以毫无问题地登录Google Play服务。但是,现在我想测试应用内结算,我认为我需要运行已签名的APK,我上传了Android开发者控制台,所以我手动安装了APK。

为了让我的常规应用程序连接到Google Play,我需要做些什么特别的事情吗?有没有更好的方法来测试Xamarin Studio中的应用内结算?

2 个答案:

答案 0 :(得分:1)

是不是因为签名密钥或包名称在Google控制台中没有权限?

您需要登录Google Developer Console,将SHA1添加到您的应用的密钥和包名称中。您可以使用

获得SHA1
keytool -exportcert -alias androiddebugkey -keystore <path-to-debug-or-production-keystore> -list -v

Mac和Linux上调试密钥库的路径位于您的主目录中,位于名为.android的{​​{1}}隐藏目录中,密码为~/.android/debug.keystore 在Windows上,我猜它在android,但我没有Windows验证。

答案 1 :(得分:0)

我已经乱了一天左右,它终于开始工作了。我尝试了很多不同的东西,所以我不是100%肯定是什么解决了这个问题,但我认为这就是它的作用:

我将以下内容添加到我的android清单文件中:

<uses-permission android:name="com.android.vending.INTERACT_ACROSS_USERS_FULL" />

我这样做是因为我在logcat中发现了其他错误:

  

W / ActivityManager(465):权限拒绝:用户的获取/设置设置   要求ru为用户-2,但是从用户0调用;这需要   android.permission.INTERACT_ACROSS_USERS_FULL

我认为这种情况一直在发生,因为我已将多个Google +用户添加到我的手机中(以测试应用内购买)。