إعداد مكتبة الدعم

ملاحظة: مع إصدار Android 9.0 (المستوى 28 من واجهة برمجة التطبيقات)، يتوفّر إصدار جديد من مكتبة الدعم يُعرف باسم AndroidX وهو جزء من Jetpack. تحتوي مكتبة AndroidX على مكتبة الدعم الحالية، كما تتضمّن أحدث مكونات Jetpack.

يمكنك مواصلة استخدام مكتبة الدعم. ستبقى العناصر القديمة (التي تحمل الإصدار 27 أو إصدارًا أقدم، والتي تم تجميعها على شكل android.support.*) متاحة على Google Maven. ومع ذلك، سيتم تطوير جميع المكتبات الجديدة في مكتبة AndroidX.

ننصح باستخدام مكتبات AndroidX في جميع المشاريع الجديدة. ننصحك أيضًا بنقل المشاريع الحالية إلى AndroidX.

تعتمد طريقة إعداد "مكتبات الدعم لنظام التشغيل Android" في مشروع التطوير على الميزات التي تريد استخدامها ونطاق إصدارات نظام التشغيل Android التي تريد أن يتوافق معها تطبيقك.

يوضّح هذا المستند كيفية تنزيل حزمة Support Library وإضافة المكتبات إلى بيئة التطوير.

تتوفّر مكتبات الدعم الآن من خلال مستودع Maven الخاص بشركة Google. لم نعد نتيح تنزيل المكتبات من خلال "أداة إدارة حزمة تطوير البرامج (SDK)"، وسيتم إزالة هذه الوظيفة قريبًا.

اختيار مكتبات الدعم

قبل إضافة إحدى مكتبات الدعم إلى تطبيقك، حدِّد الميزات التي تريد تضمينها وأدنى إصدارات Android التي تريد أن يتوافق معها التطبيق. لمزيد من المعلومات حول الميزات التي توفّرها المكتبات المختلفة، يُرجى الاطّلاع على ميزات مكتبة الدعم.

إضافة مكتبات الدعم

لاستخدام إحدى "مكتبات الدعم"، عليك تعديل تبعيات مسار الفئة في مشروع تطبيقك ضمن بيئة التطوير. يجب تنفيذ هذا الإجراء لكل حزمة من حِزم Support Library تريد استخدامها.

لإضافة "مكتبة دعم" إلى مشروع تطبيقك، اتّبِع الخطوات التالية:

  1. أدرِج مستودع Maven من Google في ملف settings.gradle الخاص بمشروعك.
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
  2. لكل وحدة تريد استخدام "مكتبة متوافقة" فيها، أضِف المكتبة في الحظر dependencies ضمن ملف build.gradle الخاص بالوحدة.  على سبيل المثال، لإضافة مكتبة core-utils الإصدار 4، أضِف ما يلي:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }

تنبيه: يمكن أن يؤدي استخدام التبعيات الديناميكية (على سبيل المثال، palette-v7:23.0.+) إلى حدوث تحديثات غير متوقّعة للإصدارات ومشاكل عدم توافق مع الإصدارات السابقة. ننصحك بتحديد إصدار المكتبة بشكل صريح (على سبيل المثال، palette-v7:28.0.0).

استخدام واجهات برمجة التطبيقات في "مكتبة الدعم"

تحمل فئات Support Library التي توفّر توافقًا مع واجهات برمجة التطبيقات الحالية في إطار العمل عادةً الاسم نفسه لفئة إطار العمل، ولكنها تقع في حِزم فئات android.support، أو تحمل اللاحقة *Compat.

تنبيه: عند استخدام فئات من مكتبة الدعم، تأكَّد من استيراد الفئة من الحزمة المناسبة. على سبيل المثال، عند تطبيق الفئة ActionBar:

  • android.support.v7.app.ActionBar عند استخدام "مكتبة الدعم"
  • android.app.ActionBar عند التطوير للمستوى 11 لواجهة برمجة التطبيقات أو مستوى أحدث فقط

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

تتوفّر إرشادات إضافية حول استخدام بعض ميزات "مكتبة الدعم" في صفوف التدريب والأدلّة والأمثلة الخاصة بمطوّري تطبيقات Android. لمزيد من المعلومات حول فئات وطُرق Support Library الفردية، راجِع حِزم android.support في مرجع واجهة برمجة التطبيقات.

التغييرات على بيان البيان

إذا كنت تريد زيادة التوافق مع الإصدارات القديمة لتطبيقك الحالي مع إصدار أقدم من واجهة برمجة التطبيقات Android باستخدام Support Library، احرص على تعديل بيان تطبيقك. على وجه التحديد، يجب تعديل عنصر android:minSdkVersion في العلامة <uses-sdk> في ملف البيان إلى رقم الإصدار الجديد الأصغر، كما هو موضّح أدناه:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

يُعلم إعداد ملف البيان Google Play بأنّه يمكن تثبيت تطبيقك على الأجهزة التي تعمل بالإصدار 4.0 من نظام التشغيل Android (المستوى 14 من واجهة برمجة التطبيقات) والإصدارات الأحدث.

إذا كنت تستخدم ملفات إصدار Gradle، سيؤدي الإعداد minSdkVersion في ملف الإصدار إلى إلغاء إعدادات ملف البيان.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

في هذه الحالة، يوضّح إعداد ملف الإصدار لـ Google Play أنّه يمكن تثبيت صيغة الإصدار التلقائية لتطبيقك على الأجهزة التي تعمل بالإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) والإصدارات الأحدث. لمزيد من المعلومات حول صيغ الإنشاء، راجِع نظرة عامة على نظام الإنشاء.

ملاحظة: إذا كنت ستضمّن العديد من مكتبات الدعم، يجب أن يكون الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) هو أعلى إصدار مطلوب من أي من المكتبات المحدّدة. على سبيل المثال، إذا كان تطبيقك يتضمّن كلاً من مكتبة توافق الإصدار 14 من Preference Support ومكتبة Leanback الإصدار 17، يجب أن يكون الإصدار الأدنى من حزمة تطوير البرامج (SDK) هو 17 أو إصدارًا أحدث.