פתרון בעיות ושאלות נפוצות בנושא Android ו-Firebase
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מפורטים טיפים לפתרון בעיות שקשורות ל-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'
...
}
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-21 (שעון UTC).
[null,null,["עדכון אחרון: 2025-07-21 (שעון UTC)."],[],[],null,["\u003cbr /\u003e\n\nThis page offers tips and troubleshooting for Android-specific issues\nthat you might encounter when using Firebase.\n\nHave other challenges or don't see your issue outlined below? Make sure to check\nout the [main Firebase FAQ](/support/faq) for more pan-Firebase or\nproduct-specific FAQ.\n\nYou can also check out the\n[Firebase Android SDK GitHub repo](https://github.com/firebase/firebase-android-sdk/issues)\nfor an up-to-date list of reported issues and troubleshooting. We encourage you\nto file your own Firebase Android SDK related issues there, too! \n\nI'm getting an error that the `ktx` library failed to resolve or\ncould not be found.\n\nThis error is likely because you're using the Firebase BoM and\nspecifying a KTX module as your product library dependency.\n\n**In July 2025, we stopped releasing new versions of the KTX modules,\nand we removed the KTX libraries from the Firebase Android BoM\n(v34.0.0).**\n\nIf you use KTX APIs from previously released KTX modules, we recommend\nthat you ***migrate your app to use KTX APIs from the main modules\ninstead*** . For details, see the\n[FAQ about this initiative](/docs/android/kotlin-migration). \n\nDo I need to provide a SHA-1 when adding an Android app to a Firebase\nproject?\n\n[SHA-1 information](//developers.google.com/android/guides/client-auth)\nis required by Firebase Authentication (when using\n[Google signin](/docs/auth/android/google-signin) or\n[phone number signin](/docs/auth/android/phone-auth)) and\n[Firebase Dynamic Links](/docs/dynamic-links). If you're not using\nthese features, you don't have to provide a SHA-1. \n\nHow do I resolve this error: \"An OAuth2 client already exists for this\npackage name and SHA-1 in another project\"?\n\nThis error occurs if we detect that another Firebase or Google Cloud\nproject contains an OAuth 2.0 client ID with the package name\nand SHA-1 that you specified. Learn how to\n[resolve this error](//support.google.com/firebase/answer/6401008). \n\nWhen I add Firebase to my Android project, I get a \"Could not find\" error.\n\nThis error usually means that your app is missing one or more references\nto Google's Maven repository. Make sure to include Google's Maven repository\n(`google()`) in your Gradle Configuration file.\n\n- If your project is using the `plugins` syntax, include it in the `plugins` section in your `settings.gradle.kts` or `settings.gradle` file.\n- If your project is using the `buildscript` syntax, include it in both the `buildscript` and `allprojects` sections in your project-level `build.gradle.kts` or `build.gradle` file.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nWhen I add a Firebase SDK to my Android project, I get an error about\ninvoke-custom support and enabling desugaring.\n\n\u003cbr /\u003e\n\nIn May 2021 (Firebase BoM v28.0.0), Firebase disabled desugaring for all its\nAndroid libraries\n(see [release note](/support/release-notes/android#2021-05-11)).\n\nThis change means that Gradle builds that use Android Gradle plugin (AGP) v4.2\nor earlier need to enable Java 8 support. Otherwise, when adding a Firebase SDK,\nthese Android projects get the following build failure: \n\n```\nD8: Invoke-customs are only supported starting with Android O (--min-api 26)\nCaused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.\nThe dependency contains Java 8 bytecode. Please enable desugaring by adding the following to build.gradle\nandroid {\n compileOptions {\n sourceCompatibility 1.8\n targetCompatibility 1.8\n }\n}\nSee https://developer.android.com/studio/write/java8-support.html for details.\nAlternatively, increase the minSdkVersion to 26 or above.\n```\n\nTo fix this build failure, you can follow one of two options:\n\n- Add the listed `compileOptions` from the error message to your **app-level** `build.gradle.kts` or `build.gradle` file.\n- Increase the `minSdkVersion` for your Android project to 26 or above.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nGoogle Sign-in is showing the error \"12500:\" after I released my app. How\ndo I fix it?\n\n\nThere are two possible reasons why this would happen: you haven't provided a\nsupport email or you're missing a SHA key. In order to fix this error, make\nsure **all** of these conditions are true:\n\n- You've added a support email to the [General Settings of your project](https://console.firebase.google.com/project/_/settings/general/) in the Firebase console.\n- You've added the [SHA-1 Certificate fingerprint from your release/production keystore](https://developers.google.com/android/guides/client-auth#using_keytool_on_the_certificate) to your Firebase Android App in the Firebase console (go to settings [**Project settings**](//console.firebase.google.com/project/_/settings/general/), scroll down to *Your apps*, and then select your Android App).\n- You've added the [SHA-1 Certificate fingerprint from the Google Play Console](https://developer.android.com/studio/publish/app-signing#api-providers) to your Firebase Android App in the Firebase console (go to settings [**Project settings**](//console.firebase.google.com/project/_/settings/general/), scroll down to *Your apps*, and then select your Android App).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nHow to add Firebase plugins to an Android project using the `buildscript`\nsyntax?\n\n\u003cbr /\u003e\n\n| **Tip:** Consider [migrating from `buildscript` to `plugin` syntax](https://developer.android.com/build/migrate-to-kotlin-dsl#migrate-buildscript) as this allows Android Studio to perform code completion and provide other helpful suggestions.\n\nFirebase has the following Gradle plugins:\n\n| Plugin name | Maven coordinates | Latest version | Plugin ID |\n|-------------------------------|-------------------------------------------------------|----------------|---------------------------------------|\n| Google Play services plugin | `com.google.gms:google-services` | 4.4.3 | `com.google.gms.google-services` |\n| App Distribution plugin | `com.google.firebase:firebase-appdistribution-gradle` | 5.1.1 | `com.google.firebase.appdistribution` |\n| Crashlytics plugin | `com.google.firebase:firebase-crashlytics-gradle` | 3.0.6 | `com.google.firebase.crashlytics` |\n| Performance Monitoring plugin | `com.google.firebase:perf-plugin` | 2.0.1 | `com.google.firebase.firebase-perf` |\n\n\u003cbr /\u003e\n\nHere's how to add a Firebase plugin to an Android project that still uses the\n`buildscript` syntax:\n\n1. In your **root-level (project-level)** Gradle file\n (`\u003cproject\u003e/build.gradle.kts` or `\u003cproject\u003e/build.gradle`), add the plugin as\n a dependency using its Maven coordinates:\n\n Kotlin \n\n buildscript {\n\n repositories {\n // Make sure that you have the following two repositories\n google() // Google's Maven repository\n mavenCentral() // Maven Central repository\n }\n\n dependencies {\n ...\n\n // Add the Maven coordinates and latest version of the plugin\n classpath (\"\u003cvar translate=\"no\"\u003ePLUGIN_MAVEN_COORDINATES\u003c/var\u003e:\u003cvar translate=\"no\"\u003ePLUGIN_VERSION\u003c/var\u003e\")\n }\n }\n\n allprojects {\n ...\n\n repositories {\n // Make sure that you have the following two repositories\n google() // Google's Maven repository\n mavenCentral() // Maven Central repository\n }\n }\n\n Groovy \n\n buildscript {\n\n repositories {\n // Make sure that you have the following two repositories\n google() // Google's Maven repository\n mavenCentral() // Maven Central repository\n }\n\n dependencies {\n ...\n\n // Add the Maven coordinates and latest version of the plugin\n classpath '\u003cvar translate=\"no\"\u003ePLUGIN_MAVEN_COORDINATES\u003c/var\u003e:\u003cvar translate=\"no\"\u003ePLUGIN_VERSION\u003c/var\u003e'\n }\n }\n\n allprojects {\n ...\n\n repositories {\n // Make sure that you have the following two repositories\n google() // Google's Maven repository\n mavenCentral() // Maven Central repository\n }\n }\n\n2. In your **module (app-level)** Gradle file (usually\n `\u003cproject\u003e/\u003capp-module\u003e/build.gradle.kts` or\n `\u003cproject\u003e/\u003capp-module\u003e/build.gradle`), add the plugin using its\n plugin ID:\n\n Kotlin \n\n plugins {\n id(\"com.android.application\")\n\n // Add the ID of the plugin\n id(\"\u003cvar translate=\"no\"\u003eFIREBASE_PLUGIN_ID\u003c/var\u003e\")\n ...\n }\n\n Groovy \n\n plugins {\n id 'com.android.application'\n\n // Add the ID of the plugin\n id '\u003cvar translate=\"no\"\u003eFIREBASE_PLUGIN_ID\u003c/var\u003e'\n ...\n }\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e"]]