Dépannage et questions fréquentes pour Android et Firebase

Cette page propose des conseils et des solutions de dépannage pour les problèmes spécifiques à Android que vous pouvez rencontrer lors de l'utilisation de Firebase.

Vous rencontrez d'autres difficultés ou vous ne trouvez pas votre problème ci-dessous ? N'hésitez pas à consulter les questions fréquentes principales sur Firebase pour obtenir des questions fréquentes générales ou spécifiques à un produit.

Vous pouvez également consulter le dépôt GitHub du SDK Firebase Android pour obtenir une liste à jour des problèmes signalés et des solutions de dépannage. Nous vous encourageons également à y signaler vos propres problèmes liés au SDK Firebase pour Android.

Firebase Authentication (lorsque vous utilisez Google Sign-In ou la connexion avec un numéro de téléphone) et Firebase Dynamic Links nécessitent des informations SHA-1. Si vous n'utilisez pas ces fonctionnalités, vous n'avez pas besoin de fournir de code SHA-1.

Cette erreur se produit si nous détectons qu'un autre projet Firebase ou Google Cloud contient un ID client OAuth 2.0 avec le nom de package et le certificat SHA-1 que vous avez spécifiés. Découvrez comment résoudre ce problème.

Cette erreur signifie généralement qu'une ou plusieurs références au dépôt Maven de Google sont manquantes dans votre application. Veillez à inclure le dépôt Maven de Google (google()) dans votre fichier de configuration Gradle.

  • Si votre projet utilise la syntaxe plugins, incluez-la dans la section plugins de votre fichier settings.gradle.kts ou settings.gradle.
  • Si votre projet utilise la syntaxe buildscript, incluez-la à la fois dans les sections buildscript et allprojects de votre fichier build.gradle.kts ou build.gradle au niveau du projet.

En mai 2021 (Firebase BoM v28.0.0), Firebase a désactivé le désucrage pour toutes ses bibliothèques Android (voir les notes de version).

Cette modification signifie que les builds Gradle qui utilisent le plug-in Android Gradle (AGP) version 4.2 ou antérieure doivent activer la compatibilité avec Java 8. Sinon, lorsque vous ajoutez un SDK Firebase, ces projets Android rencontrent l'échec de compilation suivant:

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.

Pour résoudre ce problème de compilation, vous pouvez suivre l'une des deux options suivantes:

  • Ajoutez l'compileOptions listée dans le message d'erreur à votre fichier build.gradle.kts ou build.gradle au niveau de l'application.
  • Augmentez la version minSdkVersion de votre projet Android à 26 ou version ultérieure.

Cette situation peut se produire pour deux raisons: vous n'avez pas fourni d'adresse e-mail d'assistance ou vous ne disposez pas d'une clé SHA. Pour corriger cette erreur, assurez-vous que toutes les conditions suivantes sont remplies:

Firebase propose les plug-ins Gradle suivants:

Nom du plug-in Coordonnées Maven Dernière version ID du plug-in
Plug-in des services Google Play com.google.gms:google-services 4.4.2 com.google.gms.google-services
Plug-in App Distribution com.google.firebase:firebase-appdistribution-gradle 5.1.1 com.google.firebase.appdistribution
Plug-in Crashlytics com.google.firebase:firebase-crashlytics-gradle 3.0.3 com.google.firebase.crashlytics
Plug-in Performance Monitoring com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

Pour ajouter un plug-in Firebase à un projet Android qui utilise toujours la syntaxe buildscript:

  1. Dans votre fichier Gradle au niveau racine (au niveau du projet) (<project>/build.gradle.kts ou <project>/build.gradle), ajoutez le plug-in en tant que dépendance à l'aide de ses coordonnées 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. Dans votre fichier Gradle module (au niveau de l'application) (généralement <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle), ajoutez le plug-in à l'aide de son ID de plug-in:

    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'
        ...
    }