web-dev-qa-db-fra.com

Comment résoudre l'erreur Android Firebase "FirebaseApp par défaut n'est pas initialisé dans ce processus"?

J'utilise FirebaseAuth pour l'enregistrement de l'utilisateur avec email et mot de passe, et j'ai déjà ajouté le plugin et les dépendances dans mon projet.

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) 

Mon application ne démarre pas et affiche l'erreur suivante:

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

Pourquoi l'application ne démarre pas correctement?

4
Subham Kaps

Vérifiez les points suivants, car cela a fonctionné pour moi:

Ajouté dans votre fichier de niveau de projet: 

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

Et sur votre fichier de graduation app-build:

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' 

Lien

14
george mano

Il est indiqué dans Docs que FirebaseApp.initializeApp () doit être appelé à partir de l'application.

Avez-vous essayé de créer une instance d'application (si vous n'en avez pas déjà une) et appelé FirebaseApp.initializeApp(this) à partir de sa méthode onCreate ()?

3
Orabîg

Première chose Assurez-vous d’enregistrer votre application dans la console Firebase et d’avoir ajouté le fichier google-services.json dans l’application.

Deuxièmement, vérifiez si vous avez ajouté tous les dependency ou non . Ajoutez la dépendance suivante dans le fichier App-bulid Gradle: -

buildscript {

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

Et ajoutez dans le fichier project level bulid gradle: -

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'    
2
Dhruvisha

Dans mon cas, Proguard était à l'origine du problème, alors voici ce que j'ai fait: - S'il existe une classe dans le fichier AndroidManifest.xml avec "YourClass" ou ".YourClass", remplacez-la par son nom complet: "com.yourpackage.yourClass"

0
Darush

J'ai également fait face au problème ci-dessus. J'ai téléchargé tous les plugins et vérifié les mises à jour avec NuGet. En fin de compte, j'ai constaté que le crash était dû au fait que nom du package d'application ne correspond pas à celui attribué à Google Dev. 

  • Assurez-vous qu'une action de construction est attribuée à votre service google-services.json De GoogleServicesJson

  • Vérifiez que le nom du package de votre application correspond à celui que vous avez attribué à la console Google Dev.

0
rsssssonsss

Grâce aux réponses fournies, j’ai parcouru la liste de contrôle des problèmes possibles lorsque j’ai rencontré cette erreur. 

Enfin, j’ai réalisé… j’avais commencé un nouveau module dans Android Studio, avec un nom de package différent de celui déjà enregistré dans la console Firebase pour l’instance Firebase que j’avais configurée. Simple erreur - j'ai oublié d'ajouter le nouveau nom du paquet à la configuration de la console. 

Après que j'ai bien compris, cela a commencé à fonctionner. Se souvenir de tous les petits détails attendus par Firebase Console peut parfois être délicat. Il faut être vigilant / "config-cognizant" à coup sûr

0
Gene Bo

veuillez ajouter ce chemin de classe 'com.google.gms: google-services: 4.0.1' à la place du chemin de classe 'com.google.gms: google-services: 4.1.0'

0
manish kumar sah

Vous devez ajouter initializeApp dans votre programme. Je peux vous montrer comment c'est fait.

Commencez par créer une nouvelle classe et développez Application.

public class SimpleBlog extends Application {

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

Enfin, allez à Manifest et ajoutez dans l’application comme ceci:

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

Et c'est tout ...

0
Lean Vitale

Suivez ces étapes:

  1. Supprimez FirebaseApp.initializeApp(context); car vous n'en avez pas besoin dans les nouvelles versions de Firebase.
  2. Ajoutez votre application avec le nom du package à votre projet Firebase. Téléchargez le fichier JSON Google avec votre nom de package et ajoutez le fichier téléchargé à votre application.
  3. Ajouter les bibliothèques demandées à la fois au niveau de l'application et au niveau du projet
  4. Synchronisez le projet et vous êtes prêt à utiliser Firebase

Pour plus d'informations, voir Guide d'authentification de Firebase .

0
murtaza agaz