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

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

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

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

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

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

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

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

قبل إضافة إحدى مكتبات الدعم إلى تطبيقك، حدِّد الميزات التي تريد تضمينها وأدنى إصدارات 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 عند استخدام Support Library
  • android.app.ActionBar عند التطوير للمستوى 11 لواجهة برمجة التطبيقات أو مستوى أعلى فقط

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

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

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

إذا كنت تريد زيادة التوافق مع الإصدارات القديمة لتطبيقك الحالي مع إصدار أقدم من واجهة برمجة التطبيقات Android باستخدام &quot;مكتبة الدعم&quot;، احرص على تعديل ملف البيان الخاص بتطبيقك. على وجه التحديد، يجب تعديل عنصر 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 ومكتبة Leanback الإصدار 17، يجب أن يكون الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) هو 17 أو إصدار أحدث.