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

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

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

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

معلومات SHA-1 مطلوبة بواسطة مصادقة Firebase (عند استخدام تسجيل الدخول إلى Google أو تسجيل رقم الهاتف) و روابط Firebase الديناميكية: إذا كنت لا تستخدم هذه الميزات، لن تحتاج إلى توفير خوارزمية 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 (الإصدار 28.0.0 من Firebase BoM)، أوقف 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 أو أعلى.

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

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

اسم المكوِّن الإضافي إحداثيات Maven أحدث إصدار الرقم التعريفي للمكوّن الإضافي
المكوّن الإضافي "خدمات Google Play" com.google.gms:google-services 4.4.2 com.google.gms.google-services
المكوّن الإضافي لتوزيع التطبيقات com.google.firebase:firebase-appdistribution-gradle 5.0.0 com.google.firebase.appdistribution
المكوّن الإضافي Crashlytics com.google.firebase:firebase-crashlytics-gradle 3.0.2 com.google.firebase.crashlytics
المكوّن الإضافي "تتبُّع الأداء" com.google.firebase:perf-plugin 1.4.2 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'
       
    ...
    }