تحديد المشاكل وحلّها الأسئلة الشائعة حول Android وFirebase

تقدّم هذه الصفحة نصائح ومعلومات لتحديد المشاكل وحلّها على أجهزة Android التي قد تواجهها عند استخدام Firebase.

هل تواجه تحديات أخرى أو لا ترى مشكلتك موضّحة أدناه؟ يُرجى الاطّلاع على الأسئلة الشائعة الرئيسية حول Firebase للحصول على المزيد من الأسئلة الشائعة حول Firebase أو منتجاته.

يمكنك أيضًا الاطّلاع على مستودع GitHub الخاص بحزمة تطوير البرامج لنظام التشغيل Android في Firebase للحصول على قائمة حديثة بالمشاكل التي تم الإبلاغ عنها وحلّها. ونشجّعك أيضًا على تسجيل المشاكل المتعلّقة بحزمة تطوير البرامج (SDK) لنظام التشغيل Android في Firebase.

من المحتمل أن يكون سبب هذا الخطأ هو استخدامك Firebase BoM وتحديد وحدة KTX كعنصر تابع لمكتبة المنتج.

في يوليو 2025، توقّفنا عن إصدار إصدارات جديدة من وحدات KTX، وأزلنا مكتبات KTX من Firebase Android BoM (الإصدار 34.0.0).

إذا كنت تستخدم واجهات KTX البرمجية من وحدات KTX التي تم إصدارها سابقًا، ننصحك بنقل تطبيقك لاستخدام واجهات KTX البرمجية من الوحدات الرئيسية بدلاً من ذلك. لمعرفة التفاصيل، يُرجى الاطّلاع على الأسئلة الشائعة حول هذه المبادرة.

يجب توفير معلومات SHA-1 في Firebase Authentication (عند استخدام تسجيل الدخول باستخدام حساب Google أو تسجيل الدخول باستخدام رقم الهاتف) و Firebase Dynamic Links. إذا لم تكن تستخدم هذه الميزات، لن تحتاج إلى تقديم SHA-1.

يحدث هذا الخطأ إذا رصدنا أنّ مشروعًا آخر على Firebase أو Google Cloud يحتوي على معرّف عميل OAuth 2.0 مع اسم الحزمة وSHA-1 اللذين حدّدتهما. كيفية حلّ هذا الخطأ

يشير هذا الخطأ عادةً إلى أنّ تطبيقك يفتقد إلى مرجع واحد أو أكثر إلى مستودع Maven الخاص بـ Google. تأكَّد من تضمين مستودع Maven من Google (google()) في ملف إعدادات Gradle.

  • إذا كان مشروعك يستخدم بنية plugins، عليك تضمينها في قسم plugins في ملف settings.gradle.kts أو settings.gradle.
  • إذا كان مشروعك يستخدم بنية buildscript، أدرِجها في كل من القسمين buildscript وallprojects في ملف build.gradle.kts أو build.gradle على مستوى المشروع.

في أيار (مايو) 2021 (الإصدار Firebase BoM 28.0.0)، أوقفت Firebase عملية إزالة التشويش لجميع مكتبات Android (راجِع ملاحظات الإصدار).

يعني هذا التغيير أنّه يجب تفعيل إمكانية استخدام Java 8 في إصدارات Gradle التي تستخدم الإصدار 4.2 أو إصدارًا أقدم من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP). بخلاف ذلك، عند إضافة حزمة تطوير برامج (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 أو أعلى.

هناك سببان محتملان لحدوث ذلك: إما أنّك لم تقدّم عنوان بريد إلكتروني مخصّصًا للدعم أو أنّك لم تقدّم مفتاح SHA. لإصلاح هذا الخطأ، تأكَّد من توفُّر جميع الشروط التالية:

تتضمّن Firebase المكوّنات الإضافية التالية لنظام Gradle:

اسم المكوّن الإضافي إحداثيات Maven أحدث إصدار معرّف المكوّن الإضافي
مكوّن "خدمات Google Play" الإضافي 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:

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