פתרון בעיות & שאלות נפוצות עבור אנדרואיד ו-Firebase

דף זה מציע טיפים ופתרון בעיות עבור בעיות ספציפיות ל-Android שבהן אתה עלול להיתקל בעת שימוש ב-Firebase.

יש לך אתגרים אחרים או שאתה לא רואה את הבעיה שלך מתוארת למטה? הקפד לעיין בשאלות הנפוצות הראשיות של Firebase לקבלת שאלות נפוצות נוספות על פאן-Firebase או ספציפיות למוצר.

אתה יכול גם לבדוק את המאגר של Firebase Android SDK GitHub לקבלת רשימה מעודכנת של בעיות שדווחו ופתרון בעיות. אנו ממליצים לך להגיש שם גם בעיות הקשורות ל-Firebase Android SDK שלך!

מידע SHA-1 נדרש על ידי אימות Firebase (בעת שימוש בכניסה של Google או בכניסה למספר טלפון ) וקישורים דינמיים של Firebase . אם אינך משתמש בתכונות אלו, אינך חייב לספק SHA-1.

שגיאה זו מתרחשת אם אנו מזהים שפרויקט אחר של Firebase או Google Cloud מכיל מזהה לקוח OAuth 2.0 עם שם החבילה ו-SHA-1 שציינת. למד כיצד לפתור שגיאה זו .

שגיאה זו אומרת בדרך כלל שלאפליקציה שלך חסרה הפניה אחת או יותר למאגר Maven של Google. הקפד לכלול את מאגר Maven של גוגל ( google() ) בקובץ התצורה של Gradle שלך.

  • אם הפרוייקט שלך משתמש בתחביר plugins , כלול אותו בסעיף plugins בקובץ settings.gradle.kts או settings.gradle .
  • אם הפרוייקט שלך משתמש בתחביר buildscript , כלול אותו גם ב- buildscript וגם allprojects בקובץ build.gradle.kts או build.gradle ברמת הפרויקט.

במאי 2021 (Firebase BoM v28.0.0), Firebase השביתה ניקוי סוכר עבור כל ספריות האנדרואיד שלה (ראה הערת שחרור ).

שינוי זה פירושו שבניית Gradle המשתמשת ב-Android Gradle Plugin (AGP) גרסה 4.2 או מוקדמת יותר צריכה לאפשר תמיכה ב-Java 8. אחרת, בעת הוספת Firebase SDK, פרויקטי Android אלה מקבלים את כשל הבנייה הבא:

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.

כדי לתקן את כשל הבנייה הזה, תוכל לבצע אחת משתי אפשרויות:

  • הוסף את compileOptions המפורטים מהודעת השגיאה לקובץ build.gradle.kts או build.gradle ברמת האפליקציה .
  • הגדל את minSdkVersion עבור פרויקט האנדרואיד שלך ל-26 ומעלה.

ישנן שתי סיבות אפשריות לכך שזה יקרה: לא סיפקת דוא"ל תמיכה או שחסר לך מפתח SHA. על מנת לתקן שגיאה זו, ודא שכל התנאים הללו מתקיימים:

ל-Firebase יש את התוספים הבאים של Gradle:

שם הפלאגין קואורדינטות של מייבן הגרסה העדכנית ביותר מזהה תוסף
תוסף שירותי Google Play com.google.gms:google-services 4.4.1 com.google.gms.google-services
תוסף הפצת אפליקציות com.google.firebase:firebase-appdistribution-gradle 4.2.0 com.google.firebase.appdistribution
תוסף Crashlytics com.google.firebase:firebase-crashlytics-gradle 2.9.9 com.google.firebase.crashlytics
תוסף ניטור ביצועים com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

הנה כיצד להוסיף תוסף Firebase לפרויקט אנדרואיד שעדיין משתמש בתחביר buildscript :

  1. בקובץ Gradle ברמת השורש (ברמת הפרויקט) ( <project>/build.gradle.kts או <project>/build.gradle ), הוסף את הפלאגין כתלות באמצעות קואורדינטות ה-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. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle ), הוסף את הפלאגין באמצעות מזהה הפלאגין שלו :

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