Rozwiązywanie problemów Najczęstsze pytania dotyczące Androida i Firebase

Ta strona zawiera wskazówki i rozwiązania problemów związanych z Androidem jakie możesz napotkać podczas korzystania z Firebase.

Masz inny problem lub nie widzisz go poniżej? Sprawdź zapoznaj się z głównymi odpowiedziami na najczęstsze pytania o Firebase, aby dowiedzieć się więcej o platformach Firebase odpowiedzi na najczęstsze pytania związane z konkretnymi usługami.

Możesz też zapoznać się z Repozytorium GitHub pakietu SDK Firebase na Androida znajdziesz aktualną listę zgłaszanych problemów i sposobów ich rozwiązywania. Zachęcamy do m.in. zgłosić problemy z pakietem SDK Firebase na Androida.

Informacje o SHA-1 jest wymagane przez Uwierzytelnianie Firebase (gdy używasz Logowanie do Google lub logowanie się przy użyciu numeru telefonu) i Linki dynamiczne Firebase. Jeśli nie używasz dla tych funkcji, nie musisz podawać SHA-1.

Ten błąd występuje, jeśli wykryjemy, że inna usługa Firebase lub Google Cloud projekt zawiera identyfikator klienta OAuth 2.0 i nazwę pakietu i określony przez Ciebie SHA-1. Dowiedz się, jak popraw ten błąd.

Ten błąd zwykle oznacza, że w aplikacji brakuje co najmniej jednego odwołania w repozytorium Google Maven. Pamiętaj, aby dołączyć repozytorium Google Maven (google()) w pliku konfiguracji Gradle.

  • Jeśli Twój projekt używa składni plugins, dodaj ją w sekcji plugins na settings.gradle.kts lub settings.gradle.
  • Jeśli Twój projekt używa składni buildscript, dopisz to zarówno w buildscript, jak i allprojects w sekcji build.gradle.kts na poziomie projektu lub build.gradle.

W maju 2021 r. (Firebase BoM w wersji 28.0.0) usługa Firebase wyłączyła usuwanie cukru w przypadku wszystkich Biblioteki Androida (zobacz informacje o wersjach).

Ta zmiana oznacza, że kompilacje Gradle korzystają z wtyczki Androida do obsługi Gradle (AGP) w wersji 4.2 lub starszej wersji, musisz włączyć obsługę środowiska Java 8. W przeciwnym razie podczas dodawania pakietu SDK Firebase te projekty na Androida otrzymują ten błąd kompilacji:

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.

Aby naprawić ten błąd kompilacji, możesz skorzystać z jednej z tych 2 opcji:

  • Dodaj compileOptions z komunikatu o błędzie do poziomu aplikacji. build.gradle.kts lub build.gradle.
  • Zwiększ minSdkVersion w projekcie Androida do poziomu 26 lub nowszego.

Może tak być z dwóch powodów: jeśli nie został podany adres e-mail zespołu pomocy lub nie masz klucza SHA. Aby naprawić ten błąd, upewnij się, że są spełnione wszystkie te warunki:

Firebase ma te wtyczki Gradle:

Nazwa wtyczki Współrzędne Maven Najnowsza wersja Identyfikator wtyczki
Wtyczka Usług Google Play com.google.gms:google-services 4.4.2 com.google.gms.google-services
Wtyczka App Distribution com.google.firebase:firebase-appdistribution-gradle 5.0.0 com.google.firebase.appdistribution
Wtyczka Crashlytics com.google.firebase:firebase-crashlytics-gradle 3.0.2 com.google.firebase.crashlytics
Wtyczka Performance Monitoring com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

Oto jak dodać wtyczkę Firebase do projektu na Androida, który nadal używa Składnia buildscript:

  1. w pliku Gradle na poziomie głównym (na poziomie projektu); (<project>/build.gradle.kts lub <project>/build.gradle), dodaj wtyczkę jako zależność przy użyciu jej współrzędnych Maven:

    KotlinGroovy
    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. W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj wtyczkę za pomocą jej parametru identyfikator wtyczki:

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