Fehlerbehebung und FAQs für Android und Firebase

Auf dieser Seite finden Sie Tipps und Informationen zur Fehlerbehebung bei Android-spezifischen Problemen, die bei der Verwendung von Firebase auftreten können.

Sie haben andere Probleme oder können das unten beschriebene Problem nicht sehen? Weitere Firebase-spezifische oder allgemeine häufig gestellte Fragen finden Sie in den Firebase-FAQs.

Im GitHub-Repository des Firebase Android SDK finden Sie eine aktuelle Liste der gemeldeten Probleme und Informationen zur Fehlerbehebung. Wir empfehlen Ihnen, dort auch eigene Probleme mit dem Firebase Android SDK zu melden.

SHA-1-Informationen sind für Firebase Authentication (bei Verwendung von Google Log-in oder Telefonnummern-Anmeldung) und Firebase Dynamic Links erforderlich. Wenn Sie diese Funktionen nicht nutzen, müssen Sie keine SHA-1-Hash-Werte angeben.

Dieser Fehler tritt auf, wenn wir feststellen, dass ein anderes Firebase- oder Google Cloud-Projekt eine OAuth 2.0-Client-ID mit dem von Ihnen angegebenen Paketnamen und SHA-1-Fingerabdruck enthält. Informationen zur Behebung dieses Fehlers

Dieser Fehler bedeutet in der Regel, dass in Ihrer App eine oder mehrere Verweise auf das Maven-Repository von Google fehlen. Fügen Sie das Maven-Repository von Google (google()) in Ihre Gradle-Konfigurationsdatei ein.

  • Wenn in Ihrem Projekt die plugins-Syntax verwendet wird, fügen Sie sie in den Abschnitt plugins der Datei settings.gradle.kts oder settings.gradle ein.
  • Wenn in Ihrem Projekt die buildscript-Syntax verwendet wird, nehmen Sie sie sowohl in den Abschnitten buildscript als auch allprojects der Datei build.gradle.kts oder build.gradle auf Projektebene auf.

Im Mai 2021 (Firebase BoM v28.0.0) hat Firebase die Desugaring-Funktion für alle Android-Bibliotheken deaktiviert (siehe Versionshinweisen).

Das bedeutet, dass für Gradle-Builds, bei denen das Android Gradle-Plug-in (AGP) 4.2 oder niedriger verwendet wird, die Java 8-Unterstützung aktiviert werden muss. Andernfalls tritt bei diesen Android-Projekten beim Hinzufügen eines Firebase SDK der folgende Buildfehler auf:

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.

Sie haben zwei Möglichkeiten, diesen Buildfehler zu beheben:

  • Fügen Sie die aufgeführte compileOptions aus der Fehlermeldung der build.gradle.kts- oder build.gradle-Datei auf App-Ebene hinzu.
  • Erhöhen Sie die minSdkVersion für Ihr Android-Projekt auf mindestens 26.

Das kann zwei Gründe haben: Sie haben keine Support-E-Mail-Adresse angegeben oder es fehlt ein SHA-Schlüssel. Um diesen Fehler zu beheben, müssen alle folgenden Bedingungen erfüllt sein:

Firebase bietet die folgenden Gradle-Plug-ins:

Name des Plug-ins Maven-Koordinaten Aktuelle Version Plug-in-ID
Google Play-Dienste-Plug-in com.google.gms:google-services 4.4.2 com.google.gms.google-services
App Distribution-Plug-in com.google.firebase:firebase-appdistribution-gradle 5.1.1 com.google.firebase.appdistribution
Crashlytics-Plug-in com.google.firebase:firebase-crashlytics-gradle 3.0.3 com.google.firebase.crashlytics
Performance Monitoring-Plug-in com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

So fügen Sie einem Android-Projekt, das noch die buildscript-Syntax verwendet, ein Firebase-Plug-in hinzu:

  1. Fügen Sie das Plug-in in der Gradle-Datei auf Stammebene (Projektebene) (<project>/build.gradle.kts oder <project>/build.gradle) als Abhängigkeit mit den Maven-Koordinaten hinzu:

    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. Fügen Sie das Plug-in mit seiner Plug-in-ID in der Gradle-Datei des Moduls (auf App-Ebene) (in der Regel <project>/<app-module>/build.gradle.kts oder <project>/<app-module>/build.gradle) hinzu:

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