FirebaseApp con nombre no existe

Después de migrar a Firebase Cloud Messaging.When abrir mi aplicación se bloquea y lanza un error diciendo java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist. Ya he puesto mi nuevo google-services.json y actualizar mi SDK.

Aquí está mi MainActivity

 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Check Google play service GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance(); int resultCode = googleAPI.isGooglePlayServicesAvailable(this); if (resultCode != ConnectionResult.SUCCESS) { if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) { GooglePlayServicesUtil.getErrorDialog(resultCode, this, PLAY_SERVICES_RESOLUTION_REQUEST).show(); } else { Log.e(LOG_TAG, "This device is not supported."); finish(); } } Log.i(TAG, "InstanceID token: " + FirebaseInstanceId.getInstance().getToken()); } } 

Por favor, haga doble cheque, agregó

 apply plugin: 'com.google.gms.google-services' 

En la parte inferior del archivo gradle de la aplicación y luego limpiar y reconstruir el proyecto

No estoy seguro, si es relevante aquí. Pero hay otro escenario cuando este accidente puede suceder.


Si su aplicación tiene un servicio (con un proceso diferente) y está creando su propia clase de Application , el servicio y la aplicación de primer plano utilizarán la misma clase de aplicación ( no la misma instancia ) para inicializar. Ahora cuando estoy usando com.google.firebase:firebase-crash dependencia para manejar los accidentes, se crea un servicio de fondo your.app.packagename:background_crash . Por alguna razón, esto estaba provocando accidentes en mi aplicación. Específicamente, porque en mi clase de aplicación, estaba haciendo una llamada como,

 FirebaseDatabase.getInstance().setPersistenceEnabled(true); 

Estoy asumiendo, el servicio de fondo cuando initing con nuestra clase de aplicación, de alguna manera Firebase no se inicializa. Para arreglar esto, lo hice

 if (!FirebaseApp.getApps(this).isEmpty()) FirebaseDatabase.getInstance().setPersistenceEnabled(true); 

He tenido un problema similar, y para mí fue un error / problema con la fusión manifiesta. He descubierto que FirebaseInitProvider no se ha inyectado en el archivo de manifiesto final debido a las tools:node="replace" en el archivo de manifiesto de mi aplicación. Por lo tanto, intente eliminar esta etiqueta xml y FirebaseInitProvider se inyectará y Firebase se puede inicializar correctamente.

Archivo build.gradle:

 buildscript { repositories { jcenter() mavenLocal() } dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.google.gms:google-services:3.0.0' } } allprojects { repositories { jcenter() mavenLocal() } } 

\ App \ build.gradle archivo:

 apply plugin: 'com.android.application' android { .. } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) .. compile 'com.google.firebase:firebase-core:9.0.2' compile 'com.google.firebase:firebase-messaging:9.0.2' } apply plugin: 'com.google.gms.google-services' 

@ Jmodrako respuesta resuelto mi problema … tools:node="replace" a las tools:node="merge"

Explicado … en AndroidManifest.xml

De

 <application ... tools:node="replace"> 

A

 <application ... tools:node="merge"> 

¿Combinar problemas con temas de biblioteca? Problemas de compilación resueltos con tools:replace="android:theme"

Créditos a https://stackoverflow.com/a/38060272/2765087

Mueva su inicialización de firebase dentro de la clase onCreate of Application. Además, si ha habilitado la persistencia sin conexión, FireBaseDatabase.getInstance (). SetPersistenceEnabled (true) debe aparecer antes de cualquier otra inicialización.

Android Studio

  1. Aplique el complemento: 'com.google.gms.google-services' (build.gradle – capa del módulo)
  2. Menú ~> Construir ~> Proyecto Limpio

Funciona para mi bien.

En tu dependencia solo agrega dependencias {compile fileTree (dir: 'libs', include: ['* .jar']). Compila 'com.google.firebase: firebase-core: 9.0.2' compila 'com.google. Firebase: firebase-messaging: 9.0.2 '}

Aplique el complemento: 'com.google.gms.google-services'

Registre su aplicación en Firebase y copie el google-services.json en su proyecto raíz.

Aplique classpath 'com.google.gms: google-services: 3.1.0' a usted root build.gradle.

Aplicar aplicar plugin: 'com.google.gms.google-services' a su proyecto gradle.

  • Reutilización de tareas asíncronas de Android
  • Android / Java: detecta si el dispositivo tiene una cámara BACK
  • El método HttpTransportSe.call () tarda hasta un minuto en llamar al servicio web
  • La base de datos SQLite ..onCreate () no se está llamando
  • ¿Cómo implementar diferentes eventos mediante un solo toque y doble toque en libgdx?
  • ¿Cómo mantener los nombres de métodos de clase que anulan \ implementa otro método de ser ofuscado?
  • No puedo ver Android SDK javadoc en Eclipse
  • Mostrar el diálogo TimePicker de la actividad PreferenceFragment
  • Establecer orientación de pantalla para toda la aplicación
  • Androide. ARTE para el error de optimización de bucle. Función java simple con resultado inesperado
  • Cómo puedo encontrar todas las coincidencias con una expresión regular en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.