2016-06-12 2 views
0

Я пробовал это много раз, повторяя и следуя точным шагам в кодедере Firebase Android Codelab. Я пытаюсь войти в учетную запись google, но по какой-то причине она не увенчалась успехом.Ошибка входа в систему Google -Firebase android codelab

SignInActivity.java:

package com.google.firebase.codelab.friendlychat; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.annotation.NonNull; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.view.View; 
import android.widget.Toast; 

import com.google.android.gms.auth.api.Auth; 
import com.google.android.gms.auth.api.signin.GoogleSignInAccount; 
import com.google.android.gms.auth.api.signin.GoogleSignInOptions; 
import com.google.android.gms.auth.api.signin.GoogleSignInResult; 
import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.SignInButton; 
import com.google.android.gms.common.api.GoogleApiClient; 
import com.google.android.gms.tasks.OnCompleteListener; 
import com.google.android.gms.tasks.Task; 
import com.google.firebase.auth.AuthCredential; 
import com.google.firebase.auth.AuthResult; 
import com.google.firebase.auth.FirebaseAuth; 
import com.google.firebase.auth.GoogleAuthProvider; 

public class SignInActivity extends AppCompatActivity implements 
     GoogleApiClient.OnConnectionFailedListener, View.OnClickListener { 
    private FirebaseAuth mFirebaseAuth; 
    private static final String TAG = "SignInActivity"; 
    private static final int RC_SIGN_IN = 9001; 

    private SignInButton mSignInButton; 

    private GoogleApiClient mGoogleApiClient; 

    // Firebase instance variables 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_sign_in); 
     // Initialize FirebaseAuth 
     mFirebaseAuth = FirebaseAuth.getInstance(); 
     // Assign fields 
     mSignInButton = (SignInButton) findViewById(R.id.sign_in_button); 

     // Set click listeners 
     mSignInButton.setOnClickListener(this); 

     // Configure Google Sign In 
     GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestIdToken(getString(R.string.default_web_client_id)) 
       .requestEmail() 
       .build(); 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) 
       .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
       .build(); 

     // Initialize FirebaseAuth 
    } 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.sign_in_button: 
       signIn(); 
       break; 
     } 
    } 
    private void signIn() { 
     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
     startActivityForResult(signInIntent, RC_SIGN_IN); 
    } 
    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); 
     if (requestCode == RC_SIGN_IN) { 
      GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
      if (result.isSuccess()) { 
       // Google Sign In was successful, authenticate with Firebase 
       GoogleSignInAccount account = result.getSignInAccount(); 
       firebaseAuthWithGoogle(account); 
      } else { 
       // Google Sign In failed 
       Log.e(TAG, "Google Sign In failed." + result.toString()); 
      } 
     } 
    } 
    private void firebaseAuthWithGoogle(GoogleSignInAccount acct) { 
     Log.d(TAG, "firebaseAuthWithGooogle:" + acct.getId()); 
     AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null); 
     mFirebaseAuth.signInWithCredential(credential) 
       .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 
         Log.d(TAG, "signInWithCredential:onComplete:" + task.isSuccessful()); 

         // If sign in fails, display a message to the user. If sign in succeeds 
         // the auth state listener will be notified and logic to handle the 
         // signed in user can be handled in the listener. 
         if (!task.isSuccessful()) { 
          Log.w(TAG, "signInWithCredential", task.getException()); 
          Toast.makeText(SignInActivity.this, "Authentication failed.", 
            Toast.LENGTH_SHORT).show(); 
         } else { 
          startActivity(new Intent(SignInActivity.this, MainActivity.class)); 
          finish(); 
         } 
        } 
       }); 
    } 

    @Override 
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
     // An unresolvable error has occurred and Google APIs (including Sign-In) will not 
     // be available. 
     Log.d(TAG, "onConnectionFailed:" + connectionResult); 
     Toast.makeText(this, "Google Play Services error.", Toast.LENGTH_SHORT).show(); 
    } 
} 

Я ИМЕЮТ добавил свой ключ SHA1. И знак Google в результате это: [email protected]c8

я ранее получил код ошибки вроде этого: Couldn't connect to Google API client: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null} Но я уверен, что statusCode был другой, и так как я потерял эту ошибку я не могу найти его. Было бы хорошо, если бы кто-нибудь мог сказать мне, как его переделать, чтобы я мог добавить информацию.

Logcat ("ошибка" отмеченном): (я уверен, что это бесполезно)

06-12 22:07:09.353 5049-5064/com.google.firebase.codelab.friendlychat E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.google.firebase.codelab.friendlychat-6.apk"],nativeLibraryDirectories=[/data/app-lib/com.google.firebase.codelab.friendlychat-6, /vendor/lib, /system/lib]] 
06-12 22:07:09.363 5049-5064/com.google.firebase.codelab.friendlychat E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.google.firebase.codelab.friendlychat-6.apk"],nativeLibraryDirectories=[/data/app-lib/com.google.firebase.codelab.friendlychat-6, /vendor/lib, /system/lib]] 
06-12 22:07:09.543 5049-5049/com.google.firebase.codelab.friendlychat E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.android.gms.crash.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.google.firebase.codelab.friendlychat-6.apk"],nativeLibraryDirectories=[/data/app-lib/com.google.firebase.codelab.friendlychat-6, /vendor/lib, /system/lib]] 
06-12 22:07:09.693 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.693 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.693 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.media.session.MediaController', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.693 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.widget.Toolbar', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.703 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.703 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.703 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.713 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.723 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.723 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:09.733 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.MainActivity.access$super 
06-12 22:07:10.073 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.073 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.073 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.media.session.MediaController', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.073 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.widget.Toolbar', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.083 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.083 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.083 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.083 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.093 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.093 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:10.093 5049-5049/com.google.firebase.codelab.friendlychat E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.google.firebase.codelab.friendlychat.SignInActivity.access$super 
06-12 22:07:20.113 5049-5064/com.google.firebase.codelab.friendlychat E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.google.firebase.codelab.friendlychat-6.apk"],nativeLibraryDirectories=[/data/app-lib/com.google.firebase.codelab.friendlychat-6, /vendor/lib, /system/lib]] 
06-12 22:07:32.205 5049-5049/com.google.firebase.codelab.friendlychat E/SignInActivity: Google Sign In f[email protected]42106be8 
+1

Stack Overflow - отличный способ отладить ваше приложение, так как мы не можем видеть, что происходит в вашем коде. Что работает, а что нет? Вы уже прошли через код и посмотрели, какие методы вызывают? Вы проверяли, что появляется в вас logcat? –

+0

@FrankvanPuffelen Эй, извините за неинформативный вопрос. Я не думаю, что об этом ничего не говорится, и, по-видимому, он не увенчается успехом в 'onActivityResult (...)', в строке 'if (result.isSuccess())', потому что 'result' не удался. Я отредактирую сообщение и включу свой логарифм. Я хотел бы поблагодарить вас за то, что вы не отказались от моего вопроса и попросили разъяснений. –

+0

вы не интегрировали Google в приложение. Сначала вы интегрируете google plus..и добавьте google-json в свой проект. последняя строка вашего logcat ... Вход в Google f[email protected]42106be8 –

ответ

0

Оказывается, там было что-то не так в моем Google-services.json, повторно загружены и решены моя проблема.

+0

Вы загрузили из firebase или из облака Google? – klutch

+0

@klutch Firebase –

+0

минута не решалась. ха-ха. Должен найти другой путь. благодаря! – klutch

Смежные вопросы