تقدّم هذه الصفحة نصائح وحلولاً للمشاكل المتعلّقة بنظام التشغيل 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 من وحدات KTX التي تم إصدارها سابقًا، ننصحك
بنقل تطبيقك لاستخدام واجهات برمجة تطبيقات KTX من الوحدات الرئيسية
بدلاً من ذلك. لمعرفة التفاصيل، يُرجى الاطّلاع على الأسئلة الشائعة حول هذه المبادرة.
كيف يمكنني حلّ هذا الخطأ: "يتوفّر حاليًا عميل OAuth2 لاسم الحزمة هذا وشهادة SHA-1 في مشروع آخر"؟
يحدث هذا الخطأ إذا رصدنا أنّ مشروعًا آخر على 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 على مستوى المشروع.
عند إضافة حزمة تطوير البرامج (SDK) لمنصة Firebase إلى مشروع Android، تظهر لي رسالة خطأ بشأن
دعم invoke-custom وتفعيل إزالة التجميل اللغوي.
في مايو 2021 (الإصدار Firebase BoM من Firebase)، أوقفت Firebase ميزة إزالة التجميل اللغوي لجميع مكتبات Android (يُرجى الاطّلاع على ملاحظات الإصدار).
يعني هذا التغيير أنّ إصدارات Gradle التي تستخدم الإصدار 4.2 من "مكوّن إضافي لنظام Gradle المتوافق مع Android" (AGP) أو الإصدارات الأقدم تحتاج إلى تفعيل التوافق مع Java 8. وإلا، عند إضافة حزمة تطوير برامج (SDK) لمنصة Firebase،
ستظهر لمشاريع 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 لمشروع Android إلى 26 أو أكثر.
تظهر رسالة الخطأ "12500:" في ميزة "تسجيل الدخول باستخدام حساب Google" بعد إصدار تطبيقي. كيف يمكنني حلّ هذه المشكلة؟
هناك سببان محتملان لحدوث ذلك: لم تقدّم عنوان بريد إلكتروني مخصّصًا للدعم أو لم يتوفّر لديك مفتاح SHA. لإصلاح هذا الخطأ، تأكَّد من استيفاء جميع الشروط التالية:
كيف يمكن إضافة مكوّنات Firebase الإضافية إلى مشروع Android باستخدام بنية buildscript؟
يحتوي Firebase على المكوّنات الإضافية التالية لنظام Gradle:
| اسم المكوِّن الإضافي |
إحداثيات Maven |
أحدث إصدار |
معرّف المكوّن الإضافي |
| المكوّن الإضافي لـ "خدمات Google Play" |
com.google.gms:google-services |
4.5.0 |
com.google.gms.google-services |
| المكوّن الإضافي App Distribution |
com.google.firebase:firebase-appdistribution-gradle |
5.3.1 |
com.google.firebase.appdistribution |
| المكوّن الإضافي Crashlytics |
com.google.firebase:firebase-crashlytics-gradle |
3.0.8 |
com.google.firebase.crashlytics |
| المكوّن الإضافي Performance Monitoring |
com.google.firebase:perf-plugin |
2.0.2 |
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'
...
}
ما هي إشعارات البرامج المفتوحة المصدر التي يجب تضمينها في تطبيقي؟
تتضمّن حزمة Firebase Android SDK
مساعدًا Activity
لعرض معلومات الترخيص.