web-dev-qa-db-ja.com

Android Firebaseエラー「このプロセスでデフォルトのFirebaseAppが初期化されていません」を解決するにはどうすればよいですか?

メールとパスワードを使用したユーザー登録にFirebaseAuthを使用していますが、既にプロジェクトにプラグインと依存関係を追加しています。

MainActivity.Java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
EditText ed_email, ed_pass;
Button but_login;
ProgressDialog progressDialog;
FirebaseAuth firebaseAuth;
Context context;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    context=getApplicationContext();
    FirebaseApp.initializeApp(context);
    firebaseAuth=FirebaseAuth.getInstance();

    ed_email= (EditText) findViewById(R.id.ed_email);
    ed_pass= (EditText) findViewById(R.id.ed_pass);
    but_login= (Button) findViewById(R.id.but_login);
    but_login.setOnClickListener(this);
    progressDialog=new ProgressDialog(this);
}
public void registerUser(){
    String email=ed_email.getText().toString().trim();
    String pass=ed_pass.getText().toString().trim();
    if(TextUtils.isEmpty(email)){
        Toast.makeText(getApplicationContext(),"Invalid Input",Toast.LENGTH_SHORT).show();
        return;
    }
    if(TextUtils.isEmpty(pass)){
        Toast.makeText(getApplicationContext(),"Invalid Input",Toast.LENGTH_SHORT).show();
        return;
    }
    progressDialog.setMessage("You are registering...");
    progressDialog.show();
    firebaseAuth.createUserWithEmailAndPassword(email,pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
                progressDialog.hide();
            } else {
                Toast.makeText(getApplicationContext(), "Sorry...!!!", Toast.LENGTH_SHORT).show();
                progressDialog.hide();
            }
        }

    });


}

@Override
public void onClick(View v) {
    registerUser();
}

}

logcat-

com.skapsdevelopment.firebase E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.skapsdevelopment.firebase, PID: 31993
Theme: themes:{default=overlay:com.resurrectionremix.pitchblack, iconPack:com.baranovgroup.nstyle, fontPkg:com.resurrectionremix.pitchblack, com.Android.systemui=overlay:com.resurrectionremix.pitchblack, com.Android.systemui.navbar=overlay:com.resurrectionremix.pitchblack}
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.skapsdevelopment.firebase/com.skapsdevelopment.firebase.MainActivity}: Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.skapsdevelopment.firebase. Make sure to call FirebaseApp.initializeApp(Context) first.
   at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2450)
   at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2510)
   at Android.app.ActivityThread.-wrap11(ActivityThread.Java)
   at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1363)
   at Android.os.Handler.dispatchMessage(Handler.Java:102)
   at Android.os.Looper.loop(Looper.Java:148)
   at Android.app.ActivityThread.main(ActivityThread.Java:5461)
   at Java.lang.reflect.Method.invoke(Native Method)
   at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:726)
   at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:616)
Caused by: Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.skapsdevelopment.firebase. Make sure to call FirebaseApp.initializeApp(Context) first.
   at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
   at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
   at com.skapsdevelopment.firebase.MainActivity.onCreate(MainActivity.Java:35)
   at Android.app.Activity.performCreate(Activity.Java:6251)
   at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1108)
   at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2403)
   at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2510) 
   at Android.app.ActivityThread.-wrap11(ActivityThread.Java) 
   at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1363) 
   at Android.os.Handler.dispatchMessage(Handler.Java:102) 
   at Android.os.Looper.loop(Looper.Java:148) 
   at Android.app.ActivityThread.main(ActivityThread.Java:5461) 
   at Java.lang.reflect.Method.invoke(Native Method) 
   at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:726) 
   at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:616) 

アプリが起動せず、次のエラーが表示されます。

Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this 
process com.skapsdevelopment.firebase. 
Make sure to call FirebaseApp.initializeApp(Context) first.

アプリが正常に起動しないのはなぜですか?

7
Subham Kaps

これが私のために働いたので、以下を再確認してください:

プロジェクトレベルのgradleファイルに追加:

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

そして、あなたのアプリビルドgradleファイルで:

apply plugin: 'com.Android.application'

Android {
  // ...
}

dependencies {
  // ...
  compile 'com.google.firebase:firebase-core:10.0.1'

  // Getting a "Could not find" error? Make sure you have
  // the latest Google Repository in the Android SDK manager
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services' 

リンク

17
george mano

Docs には、FirebaseApp.initializeApp()をアプリケーションから呼び出す必要があることが記載されています。

Applicationインスタンスを作成しようとしましたか(まだない場合)、onCreate()メソッドからFirebaseApp.initializeApp(this)を呼び出しましたか?

3
Orabîg

このクラスパス「com.google.gms:google-services:4.0.1」をクラスパス「com.google.gms:google-services:4.1.0」の場所に追加してください

3

まず、アプリケーションをFirebase Consoleに登録し、アプリにgoogle-services.jsonファイルを追加したことを確認してください。

次に、すべてのdependencyを追加したかどうかを確認します。 App-bulid Gradleファイルに次の依存関係を追加します:-

buildscript {

repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.google.gms:google-services:4.0.0'
    }

プロジェクトレベルのbulid gradle file:-を追加します

dependencies
 {
     implementation 'com.google.firebase:firebase-core:16.0.1'
     implementation 'com.google.firebase:firebase-auth:16.0.2'
 } 
 apply plugin: 'com.google.gms.google-services'    
3
Dhruvisha

私も上記の問題に直面しました。すべてのプラグインをダウンロードし、NuGetで更新を確認しました。結局、クラッシュはアプリケーションパッケージ名がGoogle Devで割り当てられたものと一致しないことが原因であることがわかりました。

  • Google-services.jsonにGoogleServicesJsonのビルドアクションが割り当てられていることを確認してください

  • アプリケーションパッケージ名がGoogle Dev Consoleで割り当てたものと一致することを確認します

1
rsssssonsss

次の手順を実行します:

  1. Firebaseの新しいバージョンでは必要ないので、FirebaseApp.initializeApp(context);を削除します
  2. Firebaseプロジェクトにパッケージ名付きのアプリを追加します。パッケージ名でGoogle JSONファイルをダウンロードし、ダウンロードしたファイルをアプリに追加します
  3. 指示されたライブラリをアプリレベルとプロジェクトレベルの両方のgradleに追加します
  4. プロジェクトを同期すると、Firebaseを使用する準備ができました

詳細については、 Firebase Authentication Guide を参照してください。

1
murtaza agaz

私のために働いたのは:

  1. アクティビティFirebaseApp.initializeApp(this);メソッドにonCreate()を追加します。

  2. ダウングレードcom.google.gms:google-srvicesプロジェクトレベルbuild.gradle 4.2.0から4.0.0まで

それは変化しています:

dependencies {

        classpath 'com.Android.tools.build:gradle:3.3.2'

        classpath 'com.google.gms:google-services:4.2.0'
}

に:

dependencies {

        classpath 'com.Android.tools.build:gradle:3.3.2'

        classpath 'com.google.gms:google-services:4.0.0'
}
0
BitProf

私の場合、Proguardが問題を引き起こしていたので、これが私がしたことです。-AndroidManifest.xmlに"YourClass"または".YourClass"、完全なパッケージ名に変更します:"com.yourpackage.yourClass"

0
Darush

パーティーに少し遅れましたが、ソリューションを共有したいと思いました。うまくいけば他の人に役立つ

数時間前、私は非常によく似た問題を抱えていました。ここですべてを試しましたが、何も機能しませんでした。私の依存関係はすべて正しく、それは意味がありませんでした。

私が知らなかったことは、このアプリケーションをFirebaseに登録する必要があるということでした。この手順をステップごとに実行しました guide andvoilà!できます!推奨されるクラスパス依存関係を使用する代わりに、これを必ず使用してくださいcom.google.gms:google-services:4.2.0

0
Jcorretjer

プログラムにinitializeAppを追加する必要があります。それがどのように行われるかをお見せできます。

最初に新しいクラスを作成し、Applicationを拡張します。

public class SimpleBlog extends Application {

@Override
public void onCreate() {
    super.onCreate();
    if(!FirebaseApp.getApps(this).isEmpty()) {
        FirebaseDatabase.getInstance().setPersistenceEnabled(true);
    }
}

最後に、マニフェストに移動して、次のようなアプリケーションを追加します。

<application
    Android:name=".SimpleBlog"  <------
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:supportsRtl="true"
    Android:theme="@style/AppTheme">

そしてこれがすべてです...

0
Lean Vitale

プロジェクトのbuild.gradleでGoogleサービスプラグインをバージョン4.1.0からバージョン4.0.1にダウングレードします

classpath 'com.google.gms:google-services:4.0.1'
0
Zia