Solución de problemas y Preguntas frecuentes sobre Android y Firebase

Esta página ofrece sugerencias y solución de problemas específicos de Android que puedes encontrar al usar Firebase.

¿Tiene otros desafíos o no ve su problema descrito a continuación? Asegúrese de consultar las preguntas frecuentes principales de Firebase para obtener más preguntas frecuentes sobre Firebase o específicas del producto.

También puede consultar el repositorio de GitHub del SDK de Android de Firebase para obtener una lista actualizada de problemas reportados y solución de problemas. ¡Te animamos a que presentes allí también tus propios problemas relacionados con el SDK de Firebase para Android!

La información SHA-1 es requerida por Firebase Authentication (cuando se utiliza el inicio de sesión con Google o el inicio de sesión con número de teléfono ) y Firebase Dynamic Links . Si no utiliza estas funciones, no es necesario que proporcione un SHA-1.

Este error ocurre si detectamos que otro proyecto de Firebase o Google Cloud contiene un ID de cliente OAuth 2.0 con el nombre del paquete y SHA-1 que especificaste. Aprenda cómo resolver este error .

Este error generalmente significa que a su aplicación le faltan una o más referencias al repositorio Maven de Google. Asegúrese de incluir el repositorio Maven de Google ( google() ) en su archivo de configuración de Gradle.

  • Si su proyecto utiliza la sintaxis plugins , inclúyala en la sección plugins en su archivo settings.gradle.kts o settings.gradle .
  • Si su proyecto utiliza la sintaxis buildscript , inclúyala en las secciones buildscript y allprojects en su archivo build.gradle.kts o build.gradle a nivel de proyecto.

En mayo de 2021 (Firebase BoM v28.0.0), Firebase deshabilitó la eliminación de azúcar en todas sus bibliotecas de Android (consulte la nota de la versión ).

Este cambio significa que las compilaciones de Gradle que utilizan el complemento Android Gradle (AGP) v4.2 o anterior deben habilitar la compatibilidad con Java 8. De lo contrario, al agregar un SDK de Firebase, estos proyectos de Android obtienen el siguiente error de compilación:

D8: Invoke-customs are only supported starting with Android O (--min-api 26)
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
The dependency contains Java 8 bytecode. Please enable desugaring by adding the following to build.gradle
android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}
See https://developer.android.com/studio/write/java8-support.html for details.
Alternatively, increase the minSdkVersion to 26 or above.

Para solucionar este error de compilación, puede seguir una de dos opciones:

  • Agregue las compileOptions enumeradas en el mensaje de error a su archivo build.gradle.kts o build.gradle a nivel de aplicación .
  • Aumente la minSdkVersion para su proyecto de Android a 26 o superior.

Hay dos posibles razones por las que esto sucedería: no ha proporcionado un correo electrónico de soporte o le falta una clave SHA. Para corregir este error, asegúrese de que todas estas condiciones sean verdaderas:

Firebase tiene los siguientes complementos de Gradle:

Nombre del complemento Coordenadas Maven Ultima versión ID del complemento
Complemento de servicios de Google Play com.google.gms:google-services 4.4.1 com.google.gms.google-services
Complemento de distribución de aplicaciones com.google.firebase:firebase-appdistribution-gradle 4.2.0 com.google.firebase.appdistribution
Complemento Crashlytics com.google.firebase:firebase-crashlytics-gradle 2.9.9 com.google.firebase.crashlytics
Complemento de monitoreo de rendimiento com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

A continuación se explica cómo agregar un complemento de Firebase a un proyecto de Android que todavía usa la sintaxis buildscript :

  1. En su archivo Gradle de nivel raíz (nivel de proyecto) ( <project>/build.gradle.kts o <project>/build.gradle ), agregue el complemento como una dependencia usando sus coordenadas Maven:

    buildscript {

        repositories
    {
         
    // Make sure that you have the following two repositories
          google
    ()  // Google's Maven repository
          mavenCentral
    ()  // Maven Central repository
       
    }

        dependencies
    {
         
    ...

         
    // Add the Maven coordinates and latest version of the plugin
          classpath
    ("PLUGIN_MAVEN_COORDINATES:PLUGIN_VERSION")
       
    }
    }

    allprojects
    {
     
    ...

      repositories
    {
       
    // Make sure that you have the following two repositories
        google
    ()  // Google's Maven repository
        mavenCentral
    ()  // Maven Central repository
     
    }
    }
    buildscript {

        repositories
    {
         
    // Make sure that you have the following two repositories
          google
    ()  // Google's Maven repository
          mavenCentral
    ()  // Maven Central repository
       
    }

        dependencies
    {
         
    ...

         
    // Add the Maven coordinates and latest version of the plugin
          classpath
    'PLUGIN_MAVEN_COORDINATES:PLUGIN_VERSION'
       
    }
    }

    allprojects
    {
     
    ...

      repositories
    {
       
    // Make sure that you have the following two repositories
        google
    ()  // Google's Maven repository
        mavenCentral
    ()  // Maven Central repository
     
    }
    }
  2. En el archivo Gradle de su módulo (nivel de aplicación) (generalmente <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle ), agregue el complemento usando su ID de complemento :

    plugins {
        id
    ("com.android.application")

       
    // Add the ID of the plugin
        id
    ("FIREBASE_PLUGIN_ID")
       
    ...
    }
    plugins {
        id
    'com.android.application'

       
    // Add the ID of the plugin
        id
    'FIREBASE_PLUGIN_ID'
       
    ...
    }