简体   繁体   中英

Unable to sign into Google Play Services for manually installed APK

When I manually install the APK for an app I am working on, I am unable to log into Google Play Services. There is no error given on screen, but I know it is failing because none of the Google Play Services work, an the "Connected" property is false.

I connected to the running app with adb catlog , and noticed this error which seems relevant:

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

Full log can be found here: http://pastebin.com/KDFbJ4un

When I run the application from Xamarin Studio, I am able to sign into Google Play Services without any problems. However, now I want to test in-app billing which I believe requires that I run the signed APK I uploaded the the Android Developer Console, so I am manually installing the APK.

Is there something special I need to do to get my stand-along apps connecting to Google Play? Is there a better way to test in-app billing in Xamarin Studio?

Isn't it because the signing key or package name doesn't have permission in Google Console?

You need to sign into Google Developer Console , add the SHA1 to your key and package name for your app. The SHA1 you can get with

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

The path to your debug keystore on Mac and Linux is in your home dir in a hidden directory called .android : ~/.android/debug.keystore and the password is android On Windows, I guess it's at %USERPROFILE%\\.android\\debug.keystore , but I don't have a Windows to validate.

I've been messing around with this for a day or so, and it finally started working. I was trying many different things, so I am not 100% sure what fixed the issue, but I think this is what did it:

I added the following to my android manifest file:

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

I did this because I noticed this other error in my logcat:

W/ActivityManager( 465): Permission Denial: get/set setting for user asks to ru n as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL

I think this started happening because I have added multiple google+ users to my phone (to test in-app purchases).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM