2017-01-10 16 views
4
  • ログイン/サインアップアカウントに基づいてアプリケーションを構築しようとしました。
  • Firebaseを作成し、電子メールで認証を有効にしました。
  • google-play-services.jsonファイルを追加しました。
  • 私はfirebaseエラーW/DynamiteModule:com.google.firebase.authのローカルモジュール記述子クラスが見つかりません

    apply plugin: 'com.google.gms.google-services' 
    compile 'com.google.firebase:firebase-auth:10.0.1' 
    
    build.gridleで

    (アプリ)

    を追加し、モジュールに、私は

    classpath 'com.google.gms:google-services:3.0.0' 
    

    を追加し、これは私のコード

    public class splashscr extends Activity implements View.OnClickListener{ 
    
    TabHost tab ; 
    Button logbtn,signup; 
    EditText email,password,signupemail,signuppassword; 
    private FirebaseAuth firebaseAuth; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        tab =(TabHost) findViewById(R.id.tabhost); 
        logbtn = (Button) findViewById(R.id.btn_login); 
        signup = (Button) findViewById(R.id.btn_signup); 
        password = (EditText)findViewById(R.id.input_password); 
        email = (EditText)findViewById(R.id.input_email); 
        signupemail =(EditText)findViewById(R.id.signupinput_email); 
        signuppassword = (EditText) findViewById(R.id.signupinput_password); 
        firebaseAuth = FirebaseAuth.getInstance(); 
        logbtn.setOnClickListener(this); 
        signup.setOnClickListener(this); 
        tab.setup(); 
    
        TabHost.TabSpec spec = tab.newTabSpec("tag1"); 
        spec.setIndicator("",getResources().getDrawable(R.drawable.loginpic)); 
        spec.setContent(R.id.tab1); 
        tab.addTab(spec); 
    
        spec = tab.newTabSpec("tag2"); 
        spec.setIndicator("",getResources().getDrawable(R.drawable.signupp)); 
        spec.setContent(R.id.tab2); 
        tab.addTab(spec); 
    } 
    @Override 
    public void onClick(View view) { 
        final Intent I = new Intent(this,HomeActivity.class); 
        final String emailout = signupemail.getText().toString(); 
        final String passwordout = signuppassword.getText().toString(); 
        if (view == signup){ 
         (firebaseAuth.createUserWithEmailAndPassword(emailout,passwordout)).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
          @Override 
          public void onComplete(@NonNull Task<AuthResult> task) { 
           if (task.isSuccessful()){ 
            Toast.makeText(splashscr.this, "تم تسجيلك بنجاح ", Toast.LENGTH_SHORT).show(); 
            startActivity(I); 
            finish(); 
           } 
           else 
           { 
            Log.e("ERROR", task.getException().toString()); 
            Toast.makeText(splashscr.this, "فشل التسجيل", Toast.LENGTH_SHORT).show(); 
           } 
           Toast.makeText(splashscr.this,emailout+passwordout, Toast.LENGTH_SHORT).show(); 
          } 
         }); 
        } 
    } 
    } 
    
です

このエラーが発生します:

E/ERROR: com.google.firebase.FirebaseException: An internal error has occurred. [ OPERATION_NOT_ALLOWED ] 
W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 

何が間違っていますか?

答えて

0

「匿名認証」が許可されていることをFirebaseコンソールにチェックインします。あなたの問題を解決するはずです。

また、マニフェストでインターネットのアクセス許可を確認してください。それはとても明白ですが、...

Good Luck。

+0

私はインターネット許可 E/ERRORを追加したのと同じ問題:com.google.firebase.FirebaseException:内部エラーが発生しました。 [OPERATION_NOT_ALLOWED] –

7

クライアントをFirebaseアプリと同期させてから、再度.jsonファイルを追加してください。 アンドロイドスタジオ2.3では、ツール> firebaseをクリックし、アシスタントチェックでアプリが接続されているかどうかを確認します。

1

Firebaseコンソールにログインし、[電子メール/パスワードサインインメソッドを有効にする]を選択すると、問題が解決するはずです。

0

エミュレータにPlayストアがあることを確認してください。

エミュレータにPlayストアがインストールされていない場合、このエラーが発生します。

enter image description here

関連する問題