El inicio de sesión de Google falló después de iniciar y cerrar sesión frecuentemente

Puedo iniciar sesión en mi aplicación con la cuenta de Google al principio varias veces. Todo esta bien.

Pero si inicio y cierre sesión aproximadamente 20 veces en uno o dos minutos. El inicio de sesión de Google falló y enonActivityResult función, devuelve el código de error 12501, resultCode = 0;

Estoy usando el teléfono: Nexus 6, Android 5.1.1

Aquí está mi código :

private GoogleSignInOptions mGso;
private GoogleApiClient mGac;

public void init(@NonNull final BaseActivity activity) {
    mGso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(activity.getString(R.string.default_web_client_id))
            .requestEmail()
            .build();

    mGac = new GoogleApiClient.Builder(activity)
            .enableAutoManage(activity /* FragmentActivity */, new GoogleApiClient.OnConnectionFailedListener() {
                @Override
                public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
                    ToastUtils.show(activity, R.string.login_failed);
                }
            })
            .addApi(Auth.GOOGLE_SIGN_IN_API, mGso)
            .build();
}

public void signIn(@NonNull final BaseActivity activity,
                   @NonNull GoogleSignInCallback callback,
                   @NonNull final OnLoadingListener<PlatformUserEntity> listener) {

    callback.registerCallback(listener);
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGac);
    activity.startActivityForResult(signInIntent, REQUEST_GOOGLE_SIGNIN);

    // disconnect the client
    mGac.stopAutoManage(activity);
    mGac.disconnect();

}

Aquí está gradle:

compile 'com.google.android.gms:play-services-base:9.6.1'
compile 'com.google.android.gms:play-services-gcm:9.6.1'
compile 'com.google.android.gms:play-services-auth:9.6.1'

En primer lugar, inicio el GoogleApiClient con una FragmentActivity, luego la función de inicio de sesión inicia Acitvity. GoogleSignInCallback está registrado en la función onActivityResult. Luego, desconecte el Cliente porque cada vez que se hace clic en el botón de inicio de sesión, se invoca la función init.

Dudo que yo usestopAutoManage() demasiado temprano pero parece que no es cierto. Entonces estoy confundido, ¿qué parte podría estar mal?

Noté el registro:

Could not set socket write timeout: null
12-03 17:21:43.859 264-264/? W/SurfaceFlinger: couldn't log to binary event log: overflow.
12-03 17:21:43.902 1946-12870/? W/Conscrypt: Could not set socket write timeout: null
12-03 17:21:44.327 21168-21168/? W/AccountChipsFragment: Recording consent failed.
12-03 17:21:44.657 29359-29782/? E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
12-03 17:21:44.664 812-1072/? W/ActivityManager: getRunningAppProcesses: caller 10145 does not hold REAL_GET_TASKS; limiting output
12-03 17:21:44.697 21168-21168/? W/AutoManageHelper: Unresolved error while connecting client. Stopping auto-manage.

Decía "Tienes una configuración incorrecta relacionada con OAuth2", pero podría usar la identificación del cliente web para solicitar el IdToken por primera vez.

Simplemente me confunde más.

También encontré algo extraño. Si instalo el apk que se construye localmente, este error nunca ocurrió. Si descargo de Google Play Store, se produjo este error. Pero no hay diferencia entre estas dos aplicaciones porque entrego la tienda de Google con la local.

Respuestas a la pregunta(3)

Su respuesta a la pregunta