בדף הזה מפורטים טיפים לפתרון בעיות שקשורות ל-Android, שאתם עשויים להיתקל בהן במהלך השימוש ב-Firebase.
נתקלתם בבעיות אחרות או שהבעיה שלכם לא מופיעה ברשימה שלמטה? כדאי לעיין בשאלות הנפוצות הראשיות בנושא Firebase כדי לקבל מידע נוסף על Firebase או על מוצרים ספציפיים.
אפשר גם לעיין במאגר GitHub של Firebase Android SDK כדי לראות רשימה עדכנית של בעיות שדווחו ופתרונות לבעיות. מומלץ גם לדווח שם על בעיות שקשורות ל-Firebase Android SDK.
מופיעה הודעת שגיאה שלפיה לא ניתן לפענח את הספרייה ktx
או שלא ניתן למצוא אותה.
השגיאה הזו מתרחשת כנראה כי אתם משתמשים ב-Firebase BoM ומציינים מודול KTX כתלות בספריית המוצרים.
ביולי 2025 הפסקנו להשיק גרסאות חדשות של מודולי KTX,
והסרנו את ספריות KTX מ-Firebase Android BoM
(גרסה 34.0.0).
אם אתם משתמשים בממשקי KTX API ממודולי KTX שפורסמו בעבר, מומלץ להעביר את האפליקציה לשימוש בממשקי KTX API מהמודולים הראשיים במקום זאת. פרטים נוספים זמינים בשאלות הנפוצות על התוכנית הזו.
איך פותרים את השגיאה: "An OAuth2 client already exists for this
package name and SHA-1 in another project"?
השגיאה הזו מתרחשת אם המערכת מזהה שבפרויקט אחר ב-Firebase או ב-Google Cloud
יש מזהה לקוח ב-OAuth 2.0 עם שם החבילה ו-SHA-1 שציינתם. איך פותרים את השגיאה הזו
כשמוסיפים את Firebase לפרויקט Android, מוצגת השגיאה 'לא נמצא'.
בדרך כלל, השגיאה הזו מציינת שחסר באפליקציה הפניה אחת או יותר למאגר Maven של Google. חשוב לכלול את מאגר Maven של Google (google()
) בקובץ ההגדרה של Gradle.
- אם הפרויקט שלכם משתמש בתחביר
plugins
, צריך לכלול אותו בקטע plugins
בקובץ settings.gradle.kts
או settings.gradle
.
- אם הפרויקט משתמש בתחביר
buildscript
, צריך לכלול אותו בקטעים buildscript
ו-allprojects
בקובץ build.gradle.kts
או build.gradle
ברמת הפרויקט.
כשמוסיפים Firebase SDK לפרויקט Android, מוצגת שגיאה לגבי תמיכה ב-invoke-custom והפעלת desugaring.
במאי 2021 (Firebase BoM גרסה 28.0.0), Firebase השביתה את תהליך ה-desugaring בכל ספריות Android שלה (ראו הערת גרסה).
השינוי הזה אומר שבניית 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.
כדי לפתור את הבעיה ב-build, אפשר לבחור באחת משתי האפשרויות הבאות:
- מוסיפים את
compileOptions
שמופיע בהודעת השגיאה לקובץ build.gradle.kts
או build.gradle
ברמת האפליקציה.
- צריך להגדיל את
minSdkVersion
בפרויקט Android ל-26 ומעלה.
אחרי שפרסמתי את האפליקציה שלי, מופיעה השגיאה '12500:' בכניסה באמצעות חשבון Google. איך אפשר לפתור את הבעיה?
יכולות להיות שתי סיבות לכך: לא סיפקתם כתובת אימייל לתמיכה או שחסר לכם מפתח SHA. כדי לפתור את השגיאה, צריך לוודא שכל התנאים הבאים מתקיימים:
איך מוסיפים פלאגינים של Firebase לפרויקט Android באמצעות התחביר buildscript
?
ל-Firebase יש את הפלאגינים הבאים של Gradle:
שם הפלאגין |
קואורדינטות Maven |
הגרסה האחרונה |
מזהה הפלאגין |
תוסף Google Play Services |
com.google.gms:google-services |
4.4.3 |
com.google.gms.google-services |
App Distribution פלאגין |
com.google.firebase:firebase-appdistribution-gradle |
5.1.1 |
com.google.firebase.appdistribution |
Crashlytics פלאגין |
com.google.firebase:firebase-crashlytics-gradle |
3.0.5 |
com.google.firebase.crashlytics |
Performance Monitoring פלאגין |
com.google.firebase:perf-plugin |
2.0.0 |
com.google.firebase.firebase-perf |
כך מוסיפים פלאגין של Firebase לפרויקט Android שעדיין משתמש בתחביר buildscript
:
בקובץ Gradle ברמת השורש (ברמת הפרויקט) (<project>/build.gradle.kts
או <project>/build.gradle
), מוסיפים את הפלאגין כתלות באמצעות הקואורדינטות שלו ב-Maven:
Kotlin
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
}
}
Groovy
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
}
}
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts
או <project>/<app-module>/build.gradle
), מוסיפים את הפלאגין באמצעות מזהה הפלאגין שלו:
Kotlin
plugins {
id("com.android.application")
// Add the ID of the plugin
id("FIREBASE_PLUGIN_ID")
...
}
Groovy
plugins {
id 'com.android.application'
// Add the ID of the plugin
id 'FIREBASE_PLUGIN_ID'
...
}