2016-06-12 16 views
0

私はこれを多く試してみましたが、Firebase Android Codelabの正確な手順に従いました。私はGoogleアカウントでログインしようとしていますが、何らかの理由で失敗しています。Google Sign in Error -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

あなたのコードで何が起こっているのかわからないので、アプリケーションをデバッグするのはスタックオーバーフローではありません。働いているものとないものは何ですか?コードをステップ実行して、どのメソッドが呼び出されたかを確認しましたか?あなたはlogcatに何が現れているかチェックしましたか? –

+0

@FrankvanPuffelenごめんなさい。私はこれについて何も表示されないと思うし、 'onActivityResult(...)'の 'if(result.isSuccess())'行で、 'result'が成功しなかったので、失敗したようです。私は投稿を編集し、私のlogcatを含めます。私は質問を下落させず、明確化を求めてくれてありがとうと感謝したい。 –

+0

あなたはあなたのプロジェクトにgoogle-plus..and google-jsonを追加するapp.firstにgoogleを統合していません。あなたのログカットの最後の行... Googleログイン失敗した広告。失敗した[email protected]e8 –

答えて

0

が判明そこに私のGoogleの-services.jsonで間違った何かがあった再ダウンロードし、それを解決私の問題。

+0

firebaseまたはGoogleのクラウドからredownloadしましたか? – klutch

+0

@klutch Firebase –

+0

鉱山で解決できませんでした。ハハ。別の方法を見つけなければならない。ありがとう! – klutch

関連する問題