Estoy probando la nueva herramienta Crash: https://firebase.google.com/docs/crash/
Después de seguir los pasos, la aplicación se inicia y se bloquea diciendo:
05-18 17:28:18.870 28743 28743 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.IllegalStateException: Incorrect provider authority in manifest. Most likely due to a missing applicationId variable in application's build.gradle.
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:5156)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread.-wrap1(ActivityThread.java)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Incorrect provider authority in manifest. Most likely due to a missing applicationId variable in application's build.gradle.
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: ... 10 more
Android studio
>Build
>Clean Project
Respuestas:
1)
Añadir el applicationId a build.gradle de la aplicación:
Y que Clean Project -> Construir o reconstruir proyecto
2. Si su minSdkVersion <= 20 ( https://developer.android.com/studio/build/multidex )
Use Multidex correctamente.
build.gradle de la aplicación
manifest.xml
3)
Si usa una clase de aplicación personalizada
manifest.xml
fuente
cordova platform add android
)cordova platform add android
. ¿Supongo que se solucionará una vez que Córdoba se actualice? PD. No estoy usando Firebase en absoluto.Estaba con el mismo problema en dispositivos con SDK <22, pero para mí la razón es MultiDex,
MultiDex.install
debe estar en elattachBaseContext
método.Si está utilizando MultiDex, intente esto:
app / build.gradle:
fuente
La respuesta aceptada no resolvió mi problema.
Si está utilizando Multidex, su aplicación debería extenderse en
MultiDexApplication
lugar deApplication
.MyApplication.java
AndroidManifest.xml
Espero eso ayude.
fuente
Si tiene el mismo problema pero ya tiene el
applicationId
conjunto configuradobuild.gradle
, también puede intentar lo siguiente:Build
>Clean Project
fuente
build
directorio funcionó para mí. Parece que fue arruinado por mi último tirón del repositorio.Tuve el mismo problema en los dispositivos Pre Lollipop. Para resolver eso hice lo siguiente. Mientras tanto, estaba usando multiDex en el proyecto.
1. agregue esto para build.gradle en el módulo: aplicación
2. agregue esta dependencia
3. Luego en la aplicación principal
4.En el archivo de manifiestos
Esto funciona para mi. Espero que esto le ayude también :)
fuente
deberías estar seguro
para agregar esta línea en su manifiesto
https://developer.android.com/studio/run/index.html#instant-run
fuente
No incluya toda la biblioteca de servicios de juego, pero use la que necesita. Reemplace la línea en su build.gradle :
con el apropiado de las API de servicios de Google Play , como por ejemplo:
fuente
Agregue esto a su nivel de módulo build.gradle:
Si anula la
Application
clase, extiéndala desdeMultiDexApplication
:Si no puede extenderlo desde la
MultiDexApplication
clase, anule elattachBaseContext()
método de la siguiente manera:Y no corras nada antes
MultiDex.install(this)
se ejecute.Si no anula la
Application
clase, simplemente edite su archivo de manifiesto de la siguiente manera:fuente
Esto debería funcionar:
Paso 1:
Paso 2:
Paso 3: toma otra clase
Paso 4: agregue esta línea en el manifiesto
fuente
En mi caso, el problema se resolvió agregando esta línea al módulo build.gradle:
// AGREGAR ESTO EN LA PARTE INFERIOR
Fuente
fuente
build.gradle
dependencies { classpath 'com.google.gms:google-services:3.0.0' }
En mi caso, el problema ocurrió después de que migramos a AndroidX. Por alguna razón, la aplicación estaba llamando a MultiDex.install () con reflexión:
Cambié el paquete de
android.support.multidex.MultiDex
aandroidx.multidex.MultiDex
. Funcionó.fuente
En lugar de agregar manualmente el nombre del paquete en el
build.gradle
, puede hacerlo de esta manera:primero agregue esta línea al principio
Luego agregue esto en la configuración predeterminada
Y finalmente agregue el método doExtractStringFromManifest
Como hay muchos comentarios de Cordova sobre la respuesta, si está trabajando con Cordova, realmente no debería editar el
build.gradle
usted mismo, tiene un comentario al principio que diceEntonces, si está utilizando un Cordova, lo mejor que puede hacer es actualizar a cordova-android 5.1.0 o superior donde estos cambios ya están presentes.
fuente
La mía se debió a que Firebase SDK en el archivo Gradle estaba configurado con una versión de número incorrecta.
Eliminé las deudas de Firebase de Gradle y las reinstalé nuevamente usando
Firebase Assistant
fuente
Vaya a la configuración de Android Studio (presionando
Ctrl+Alt+S
en Windows), busqueInstant Run
y desmarqueEnable Instant Run
.Al deshabilitar
Instant Run
y ejecutar su aplicación nuevamente, el problema se resolverá.fuente
Para la aplicación nativa de reacción, el error fue que
java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider"
solo estaba obteniendo dispositivos con la versión de Android <~ 4.4Resuelto por sólo la sustitución
Application
deMainApplication.java
laMultiDexApplication
NOTA:
import android.support.multidex.MultiDexApplication;
fuente
Agregué el siguiente código en el archivo proguard.
y funcionó en mi caso.
fuente
en mi caso, me olvido de agregar (o eliminar accidentalmente) núcleo de firebase en build gradle
fuente
Recibí este error solo en dispositivos con API inferior a 21. En mi caso, tuve que trabajar con un proyecto donde la
multiDexEnabled
opciónbuild.gradle
ya estaba configuradatrue
. Revisé el archivo APK de Dex y se hace referencia número de métodos era menos de 64k, por lo que el proyecto no tiene por qué ser una multidex, por lo tanto, me pusemultiDexEnabled
afalse
. Esta solución funcionó para mí.fuente