L'ultima versione di Play Services (8.3) presenta un problema relativo a GoogleSignInAccount.Crash in GoogleSignInAccount negli ultimi PlayServices 8.3
Abbiamo ricevuto un arresto anomalo generato da esso. Qui è lo stacktrace.
Android: 4.4.4
Manufacturer: Sony
Model: D5503
Date: Thu Nov 12 16:36:06 GMT-08:00 2015
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=40962, result=-1, data=Intent { (has extras) }} to activity {com.spreaker.android/com.google.android.gms.auth.api.signin.internal.SignInHubActivity}: java.lang.NullPointerException
at android.app.ActivityThread.deliverResults(ActivityThread.java:3455)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3498)
at android.app.ActivityThread.access$1300(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:212)
at android.app.ActivityThread.main(ActivityThread.java:5135)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at java.util.Collections.sort(Collections.java:1882)
at com.google.android.gms.auth.api.signin.GoogleSignInAccount.zzms(Unknown Source)
at com.google.android.gms.auth.api.signin.GoogleSignInAccount.zzmx(Unknown Source)
at com.google.android.gms.auth.api.signin.internal.zzn.zza(Unknown Source)
at com.google.android.gms.auth.api.signin.internal.zzn.zzb(Unknown Source)
at com.google.android.gms.auth.api.signin.internal.SignInHubActivity.zza(Unknown Source)
at com.google.android.gms.auth.api.signin.internal.SignInHubActivity.onActivityResult(Unknown Source)
at android.app.Activity.dispatchActivityResult(Activity.java:5423)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3451)
... 11 more
Controllare i registri delle app dalla nostra parte, potrebbe essere correlato ad alcuni problemi di connettività, ma potrei sbagliarmi.
Qualsiasi aiuto con questo è apprezzato. Grazie
EDIT: Su richiesta, questo è come si costruisce il GoogleApiClient (e le opzioni necessarie)
GoogleSignInOptions.Builder gsoBuilder = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(
new Scope("profile"),
new Scope("email"),
new Scope("https://www.googleapis.com/auth/plus.me")
)
.requestProfile()
.requestServerAuthCode(this._config.getGoogleClientId(), true);
this._googleApi = new GoogleApiClient.Builder(getActivity())
.enableAutoManage(getActivity(), new OnConnectionErrorListener())
.addApi(Auth.GOOGLE_SIGN_IN_API, gsoBuilder.build())
.build();
Google ha apportato [miglioramenti al login in 8.3] (http://android-developers.blogspot.com/2015/11/improvements-to-sign-in-with-google.html), quindi forse è necessario alcuni aggiornamenti/modifiche. – Andy
Sì, e abbiamo cambiato tutto per fare le cose correttamente con esso. Non facciamo nulla di speciale qui. Aspettiamo solo l'account google restituito dalla nuova API ma si blocca invece di darci l'account. Credo che ci sia un bug nella loro nuova API. – DrAL3X
Vedo lo stesso crash su 8.3, nessuna soluzione ancora. – AndroidEx