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
- Usar putExtra para pasar valores al servicio de intenciones
- El método más simple para convertir Json a Xml
- SensorEventListener en un servicio
- La forma más segura de usar SharedPreferences
- Tres preguntas sobre hacer un montón de cálculos
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 qué no puedo usar Resources.getSystem () sin un error de tiempo de ejecución?
- Cómo devolver una matriz de JNI a Java?
- Cargando parcialmente las imágenes de la URL, como lo que se implementa en WhatsApp
- Comunicación multihilo: ¿qué tan bueno es el uso de variables atómicas como AtomicInteger? ¿Por qué no hay AtomicFloat?
- Cómo llamar a onCreateOptionsMenu desde el código
- Android: agregar insignia a los iconos internos de mi aplicación
- ¿Es posible determinar el tamaño del archivo que se va a descargar?
- Cómo reproducir AsyncTask de Android en Java código puro
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
- Aplique el complemento: 'com.google.gms.google-services' (build.gradle – capa del módulo)
- 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.
- ScrollView Layout no llena toda la pantalla
- ¿Por qué declarar un argumento de función para ser definitivo?