<uses-sdk>

يستخدم Google Play سمات <uses-sdk> الموضَّحة في بيان التطبيق لفلترة تطبيقك من الأجهزة التي لا تستوفي متطلبات إصدار النظام الأساسي. قبل إعداد هذه السمات، احرص على فهم فلاتر Google Play.

بناء الجملة:
<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
الواردة في:
<manifest>
description:

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

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

اطّلِع أيضًا على المستند الذي يتناول تحديد إصدارات تطبيقاتك.

:
android:minSdkVersion
عدد صحيح يحدد الحد الأدنى لمستوى واجهة برمجة التطبيقات المطلوب لتشغيل التطبيق. يمنع نظام Android المستخدم من تثبيت التطبيق إذا كان مستوى واجهة برمجة التطبيقات للنظام أقل من القيمة المحدّدة في هذه السمة. عرِّف دائمًا عن هذه السمة.

تحذير: إذا لم تُفصح عن هذه السمة، سيفترض النظام القيمة التلقائية "1"، ما يشير إلى أنّ تطبيقك متوافق مع جميع إصدارات Android. إذا لم تكن كذلك ولم تقدِّم بيان minSdkVersion الصحيح، يعني ذلك أنّه عند تثبيت التطبيق على نظام بمستوى واجهة برمجة تطبيقات غير متوافق، يتعطّل التطبيق أثناء وقت التشغيل عند محاولة الوصول إلى واجهات برمجة التطبيقات غير المتاحة. لهذا السبب، يجب الإفصاح عن مستوى واجهة برمجة التطبيقات المناسب في السمة minSdkVersion.

android:targetSdkVersion
عدد صحيح يحدّد مستوى واجهة برمجة التطبيقات الذي يستهدفه التطبيق. وفي حال ترك هذه السياسة بدون ضبط، تكون القيمة التلقائية مساوية لقيمة minSdkVersion.

تُعلِم هذه السمة النظام الذي اختبرته مقارنةً بالإصدار المستهدف، ولا يتيح النظام أي سلوكيات توافق للحفاظ على توافق التطبيق مع الإصدار المستهدف. لا يزال بإمكان التطبيق العمل على إصدارات أقدم (حتى minSdkVersion).

مع تطوُّر Android بظهور كل إصدار جديد، قد تتغير بعض السلوكيات وكذلك بعض المظاهر. ومع ذلك، إذا كان مستوى واجهة برمجة التطبيقات للنظام الأساسي أعلى من الإصدار الذي تم تحديده من خلال targetSdkVersion لتطبيقك، يمكن للنظام تفعيل سلوكيات التوافق كي يواصل تطبيقك العمل على النحو المتوقَّع. يمكنك إيقاف سلوكيات التوافق هذه من خلال تحديد targetSdkVersion لمطابقة مستوى واجهة برمجة التطبيقات في النظام الأساسي التي تعمل عليه.

على سبيل المثال، يؤدي ضبط هذه القيمة على "11" أو أعلى إلى السماح للنظام بتطبيق مظهر Holo التلقائي على تطبيقك عند تشغيله على Android 3.0 أو إصدار أحدث، كما يوقِف وضع التوافق مع الشاشة عند تشغيله على شاشات أكبر، لأنّ التوافق مع المستوى 11 من واجهة برمجة التطبيقات يتيح استخدام الشاشات الأكبر حجمًا بشكل ضمني.

هناك العديد من سلوكيات التوافق التي يمكن للنظام تفعيلها استنادًا إلى القيمة التي تحدّدها لهذه السمة. تم توضيح العديد من هذه السلوكيات من خلال إصدارات المنصة المقابلة في مرجع Build.VERSION_CODES.

للحفاظ على أداء تطبيقك مع كل إصدار من إصدارات Android، عليك زيادة قيمة هذه السمة لتتطابق مع أحدث مستوى لواجهة برمجة التطبيقات، ثم اختبار تطبيقك بدقة على إصدار النظام الأساسي المقابل.

تاريخ طرح: المستوى 4 من واجهة برمجة التطبيقات

android:maxSdkVersion
عدد صحيح يحدد الحد الأقصى لمستوى واجهة برمجة التطبيقات الذي تم تصميم التطبيق للتشغيل عليه.

في Android 1.5 و1.6 و2.0 و2.0.1، يتحقّق النظام من قيمة هذه السمة عند تثبيت تطبيق وعند إعادة التحقق منه بعد تحديث النظام. في كلتا الحالتين، إذا كانت سمة maxSdkVersion للتطبيق أقل من مستوى واجهة برمجة التطبيقات الذي يستخدمه النظام نفسه، لن يسمح النظام بتثبيت التطبيق. في حال إعادة التحقّق بعد تحديث النظام، يؤدي ذلك إلى إزالة تطبيقك من الجهاز بشكل فعّال.

لتوضيح كيفية تأثير هذه السمة في تطبيقك بعد إجراء تحديثات النظام، يمكنك الاطّلاع على المثال التالي:

تم نشر تطبيق على Google Play يتضمّن تعريفًا للرمز maxSdkVersion="5" في ملف البيان الخاص به. في حال كان جهاز يعمل بالإصدار 1.6 من نظام التشغيل Android (المستوى 4 لواجهة برمجة التطبيقات) يتم تنزيل التطبيق وتثبيته. بعد بضعة أسابيع، يتلقّى المستخدم تحديثًا للنظام عبر شبكة غير سلكيّة إلى Android 2.0 (مستوى واجهة برمجة التطبيقات 5). بعد تثبيت التحديث، يتحقّق النظام من maxSdkVersion للتطبيق ويعيد التحقّق منه بنجاح.

يعمل التطبيق كالمعتاد. ومع ذلك، وبعد مرور بعض الوقت، سيتلقّى الجهاز تحديثًا آخر للنظام، إلى Android 2.0.1 (المستوى 6 من واجهة برمجة التطبيقات). بعد إجراء التحديث، لن يعود بإمكان النظام إعادة التحقّق من التطبيق لأنّ مستوى واجهة برمجة التطبيقات (6) في النظام أصبح الآن أعلى من الحدّ الأقصى الذي يتيحه التطبيق (5). يمنع النظام التطبيق من أن يكون مرئيًا للمستخدم، ما يؤدي إلى إزالته من الجهاز في الواقع.

تحذير: لا ننصح بالإعلان عن هذه السمة. أولاً، ما مِن حاجة إلى ضبط السمة كوسيلة لحظر نشر تطبيقك على الإصدارات الجديدة من نظام Android الأساسي بعد طرحها. من الناحية التصميمية، تتوافق الإصدارات الجديدة من المنصة بشكل كامل مع الأنظمة القديمة. يعمل تطبيقك بشكل صحيح مع الإصدارات الجديدة، بشرط أن يستخدم واجهات برمجة التطبيقات العادية فقط وأن يتّبع أفضل ممارسات التطوير. ثانيًا، قد يؤدي الإفصاح عن السمة في بعض الحالات إلى إزالة تطبيقك من أجهزة المستخدمين بعد تحديث النظام إلى مستوى أعلى لواجهة برمجة التطبيقات. تتلقّى معظم الأجهزة التي يتم تثبيت تطبيقك عليها تحديثات منتظمة للنظام عبر شبكة غير سلكيّة، لذا يُرجى أخذ تأثيرها في الاعتبار قبل ضبط هذه السمة.

تاريخ طرح: المستوى 4 من واجهة برمجة التطبيقات

لا تتحقّق بعض إصدارات Android (بخلاف Android 2.0.1) أو تفرض السمة maxSdkVersion أثناء التثبيت أو إعادة التحقّق. ومع ذلك، يواصل Google Play استخدام السمة كفلتر، مع ذلك عند تزويد المستخدمين بالتطبيقات المتاحة للتنزيل.
تم تقديمها في:
مستوى واجهة برمجة التطبيقات 1

ما هو مستوى واجهة برمجة التطبيقات؟

مستوى واجهة برمجة التطبيقات هو قيمة عددية تحدّد بشكلٍ فريد مراجعة واجهة برمجة التطبيقات الخاصة بإطار العمل والتي يوفّرها إصدار من نظام Android الأساسي.

يوفر نظام Android الأساسي واجهة برمجة تطبيقات لإطار العمل يمكن للتطبيقات استخدامها للتفاعل مع نظام Android الأساسي. تتألّف واجهة برمجة التطبيقات لإطار العمل من:

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

يمكن أن يتضمّن كل إصدار متتابع من نظام Android الأساسي تحديثات على واجهة برمجة التطبيقات لإطار عمل تطبيقات Android التي يوفّرها.

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

في عدد قليل جدًا من الحالات، يتم تعديل أجزاء من واجهة برمجة التطبيقات أو إزالتها، على الرغم من أنّ هذه التغييرات عادةً ما تكون مطلوبة فقط لدعم قوة واجهة برمجة التطبيقات وأمان التطبيق أو النظام. يتم متابعة جميع أجزاء واجهة برمجة التطبيقات الأخرى من المراجعات السابقة بدون تعديل.

يتم تحديد واجهة برمجة التطبيقات لإطار العمل التي يعرضها نظام Android الأساسي باستخدام معرّف عدد صحيح يُعرف باسم مستوى واجهة برمجة التطبيقات. يتوافق كل إصدار نظام أساسي من Android مع مستوى واجهة برمجة تطبيقات واحد بالضبط، على الرغم من أنّ هذا الدعم ضمني لجميع مستويات واجهة برمجة التطبيقات السابقة (وصولاً إلى المستوى 1 لواجهة برمجة التطبيقات). قدّم الإصدار الأولي من نظام Android الأساسي مستوى واجهة برمجة التطبيقات 1، وزادت الإصدارات اللاحقة من مستوى واجهة برمجة التطبيقات.

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

إصدار النظام الأساسيمستوى واجهة برمجة التطبيقاتVERSION_CODENotes
نظام التشغيل Android 15 واجهة برمجة التطبيقات 34 ← الإصدار التجريبي 2 VANILLA_ICE_CREAM أبرز الميزات على المنصة
Android 14 34 UPSIDE_DOWN_CAKE أبرز الميزات على المنصة
نظام التشغيل Android 13 33 TIRAMISU أبرز الميزات على المنصة
نظام التشغيل Android 12 32 S_V2 أبرز الميزات على المنصة
31 S أبرز الميزات على المنصة
نظام التشغيل Android 11 30 R أبرز الميزات على المنصة
نظام التشغيل Android 10 29 Q أبرز الميزات على المنصة
نظام التشغيل Android 9 28 P أبرز الميزات على المنصة
الإصدار 8.1 من نظام التشغيل Android 27 O_MR1 أبرز الميزات على المنصة
Android 8.0 26 O أبرز الميزات على المنصة
Android 7.1.1
Android 7.1
25 N_MR1 أبرز الميزات على المنصة
الإصدار 7.0 من نظام التشغيل Android 24 N أبرز الميزات على المنصة
الإصدار 6.0 من نظام التشغيل Android 23 M أبرز الميزات على المنصة
الإصدار 5.1 من نظام التشغيل Android 22 LOLLIPOP_MR1 أهم الميزات على النظام الأساسي
Android 5.0 21 LOLLIPOP
Android 4.4 واط 20 KITKAT_WATCH إصدار KitKat للأجهزة القابلة للارتداء فقط
Android 4.4 19 KITKAT أهم الميزات على النظام الأساسي
Android 4.3 18 JELLY_BEAN_MR2 أهم الميزات على النظام الأساسي
Android 4.2 و4.2.2 17 JELLY_BEAN_MR1 أهم الميزات على النظام الأساسي
Android 4.1 و4.1.1 16 JELLY_BEAN أهم الميزات على النظام الأساسي
Android 4.0.3 و4.0.4 15 ICE_CREAM_SANDWICH_MR1 أهم الميزات على النظام الأساسي
Android 4.0 و4.0.1 و4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
الإصدار 3.1.x من نظام التشغيل Android 12 HONEYCOMB_MR1 أبرز الميزات على المنصة
Android 3.0.x 11 HONEYCOMB أبرز الميزات على المنصة
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 أهم الميزات على النظام الأساسي
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO أبرز الميزات على المنصة
الإصدار 2.1.x من نظام التشغيل Android 7 ECLAIR_MR1 أهم الميزات على النظام الأساسي
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
الإصدار 1.6 من نظام التشغيل Android 4 DONUT أبرز الميزات على المنصة
الإصدار 1.5 من نظام التشغيل Android 3 CUPCAKE أبرز الميزات على المنصة
الإصدار 1.1 من نظام التشغيل Android 2 BASE_1_1
الإصدار 1.0 من نظام التشغيل Android 1 BASE

استخدامات مستوى واجهة برمجة التطبيقات في Android

يؤدي معرّف مستوى واجهة برمجة التطبيقات دورًا رئيسيًا في المساعدة على ضمان تقديم أفضل تجربة ممكنة للمستخدمين ومطوّري التطبيقات:

  • يتيح لنظام Android الأساسي وصف الحد الأقصى لمراجعة واجهة برمجة التطبيقات لإطار العمل التي تدعمها.
  • يتيح للتطبيقات وصف مراجعة واجهة برمجة التطبيقات لإطار العمل التي تتطلبها.
  • يتيح ذلك للنظام بدء مفاوضات حول تثبيت التطبيقات على جهاز المستخدم، حتى لا يتم تثبيت التطبيقات غير المتوافقة مع الإصدار.

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

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

  • android:minSdkVersion: الحد الأدنى لمستوى واجهة برمجة التطبيقات الذي يمكن للتطبيق تشغيل التطبيق عليه. القيمة التلقائية هي "1".
  • android:targetSdkVersion: مستوى واجهة برمجة التطبيقات الذي تم تصميم التطبيق عليه وفي بعض الحالات، يتيح هذا للتطبيق استخدام عناصر أو سلوكيات بيان يتم تحديدها في مستوى واجهة برمجة التطبيقات المستهدف، بدلاً من الاقتصار على استخدام العناصر أو السلوكيات المحدّدة للحد الأدنى من مستوى واجهة برمجة التطبيقات فقط.
  • android:maxSdkVersion: الحد الأقصى لمستوى واجهة برمجة التطبيقات الذي يمكن للتطبيق تشغيل التطبيق عليه. ملاحظة مهمة: يُرجى الاطّلاع على المعلومات حول هذه السمة الواردة في هذه الصفحة قبل استخدامها.

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

عندما يحاول المستخدم تثبيت تطبيق أو عند إعادة التحقّق من تطبيق بعد تحديث النظام، يتحقّق نظام Android أولاً من سمات <uses-sdk> في بيان التطبيق ويقارن القيم بمستوى واجهة برمجة التطبيقات الداخلي الخاص به. يسمح النظام ببدء التثبيت فقط في حال استيفاء الشروط التالية:

  • في حال تعريف سمة android:minSdkVersion، تكون قيمتها أقل من أو تساوي العدد الصحيح على مستوى واجهة برمجة التطبيقات في النظام. إذا لم يتم الإعلان عن ذلك، يفترض النظام أن التطبيق يتطلب المستوى 1 من واجهة برمجة التطبيقات.
  • إذا تم تعريف السمة android:maxSdkVersion، تكون قيمتها مساوية للعدد الصحيح على مستوى واجهة برمجة التطبيقات في النظام أو أكبر منه. إذا لم يتم الإعلان عن ذلك، يفترض النظام أن التطبيق ليس له حد أقصى لمستوى واجهة برمجة التطبيقات. اقرأ وصف هذه السمة للاطّلاع على مزيد من المعلومات حول كيفية معالجة النظام لها.

عند التعريف عن عنصر <uses-sdk> في بيان تطبيق، قد يظهر العنصر على النحو التالي:

<manifest>
  <uses-sdk android:minSdkVersion="5" />
  ...
</manifest>

السبب الرئيسي لإعلان تطبيق عن مستوى واجهة برمجة تطبيقات في android:minSdkVersion هو إعلام نظام Android بأنّه يستخدم واجهات برمجة التطبيقات التي تم إدخالها في مستوى واجهة برمجة التطبيقات المحدّد.

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

اعتبارات التطوير

تقدّم الأقسام التالية معلومات ذات صلة بمستوى واجهة برمجة التطبيقات الذي يجب مراعاته عند تطوير تطبيقك.

التوافق مع إعادة توجيه التطبيقات

تتوافق تطبيقات Android بشكل عام مع الإصدارات الجديدة من نظام Android الأساسي.

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

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

يمكن أن تؤثر التغييرات أدناه في واجهة برمجة التطبيقات، مثل التغييرات في النظام الأساسي نفسه، في تطبيقك عند تشغيله في البيئة الجديدة. من المهم بالنسبة لك، بصفتك مطور التطبيق، أن تفهم كيف يبدو التطبيق ويعمل في كل بيئة نظام.

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

التوافق مع الأنظمة القديمة للتطبيقات

لا تكون تطبيقات Android متوافقة مع الإصدارات القديمة بالضرورة مع إصدارات نظام Android الأساسي الأقدم من الإصدار الذي تم تجميعها من خلاله.

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

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

اختيار إصدار النظام الأساسي ومستوى واجهة برمجة التطبيقات

عند تطوير التطبيق، تختار إصدار النظام الأساسي الذي تقوم بتجميع التطبيق وفقًا له. وبوجه عام، عليك تجميع تطبيقك مقابل أدنى إصدار ممكن من النظام الأساسي الذي يمكن أن يدعمه تطبيقك.

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

الإفصاح عن الحد الأدنى لمستوى واجهة برمجة التطبيقات

إذا أنشأت تطبيقًا يستخدم واجهات برمجة التطبيقات أو ميزات النظام التي تم تقديمها في أحدث إصدار من النظام الأساسي، اضبط السمة android:minSdkVersion على مستوى واجهة برمجة التطبيقات لأحدث إصدار من النظام الأساسي. والهدف من ذلك هو أنّ المستخدمين لا يستطيعون تثبيت تطبيقك إلا إذا كانت أجهزتهم تعمل بإصدار متوافق من نظام Android الأساسي. ويساعد ذلك بدوره في ضمان عمل تطبيقك بشكل صحيح على أجهزتهم.

إذا كان تطبيقك يستخدم واجهات برمجة تطبيقات تم طرحها في أحدث إصدار من النظام الأساسي ولكنّه لم يعرِّف السمة android:minSdkVersion، يعني ذلك أنّه سيتم تشغيله بشكل صحيح على الأجهزة التي تعمل بأحدث إصدار من النظام الأساسي، وليس على الأجهزة التي تعمل بإصدارات سابقة من النظام الأساسي. في الحالة الثانية، يتعطّل التطبيق في وقت التشغيل عندما يحاول استخدام واجهات برمجة تطبيقات غير موجودة في الإصدارات السابقة.

الاختبار مقابل مستويات أعلى من واجهة برمجة التطبيقات

بعد تجميع تطبيقك، احرص على اختباره على النظام الأساسي المحدد في السمة android:minSdkVersion للتطبيق. لإجراء ذلك، أنشِئ متوسّط مدة مشاهدة يستخدم إصدار النظام الأساسي الذي يتطلّبه تطبيقك. بالإضافة إلى ذلك، للتحقّق من التوافق مع واجهات برمجة التطبيقات، يُرجى تشغيل التطبيق واختباره على جميع الأنظمة الأساسية التي تستخدم مستوى أعلى من واجهة برمجة التطبيقات (API) مقارنةً بالاستخدام في تطبيقك.

تتضمن حزمة Android SDK العديد من إصدارات الأنظمة الأساسية التي يمكنك استخدامها، بما في ذلك أحدث إصدار، وتوفّر أداة تحديث يمكنك استخدامها لتنزيل إصدارات أخرى للأنظمة الأساسية حسب الضرورة.

للوصول إلى أداة التحديث، استخدِم أداة سطر الأوامر android المتوفرة في دليل <sdk>/tools. يمكنك إطلاق أداة تحديث حزمة تطوير البرامج (SDK) من خلال تنفيذ "android sdk". يمكنك أيضًا النقر مرّتين على ملف android.bat (نظام التشغيل Windows) أو android (OS X/Linux).

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

فلترة المستندات المرجعية حسب مستوى واجهة برمجة التطبيقات

توفّر صفحات المستندات المرجعية لنظام Android عنصر تحكّم في "مستوى واجهة برمجة التطبيقات" في أعلى يمين كلّ صفحة يمكنك استخدام عنصر التحكم لعرض المستندات فقط لأجزاء من واجهة برمجة التطبيقات التي يمكن الوصول إليها من خلال تطبيقك، وذلك استنادًا إلى مستوى واجهة برمجة التطبيقات الذي يتم تحديده في السمة android:minSdkVersion لملف البيان.

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

لا توفر التصفية حسب مستوى واجهة برمجة التطبيقات في الوثائق عرضًا لما هو جديد أو تم تقديمه في كل مستوى لواجهة برمجة التطبيقات. ويوفر طريقة لعرض كامل واجهة برمجة التطبيقات المرتبطة بمستوى معيّن لواجهة برمجة التطبيقات، مع استبعاد عناصر واجهة برمجة التطبيقات التي تم تقديمها في المستويات اللاحقة لواجهة برمجة التطبيقات.

للعودة إلى عرض المستندات الكاملة، اختَر REL في أعلى قائمة مستوى واجهة برمجة التطبيقات. يتم إيقاف الفلترة على مستوى واجهة برمجة التطبيقات تلقائيًا، وبالتالي يمكنك عرض واجهة برمجة التطبيقات لإطار العمل بالكامل، بغض النظر عن مستوى واجهة برمجة التطبيقات.

تحدد الوثائق المرجعية لعناصر واجهة برمجة التطبيقات الفردية مستوى واجهة برمجة التطبيقات الذي يتم تقديم كل عنصر به. ويتم تحديد مستوى واجهة برمجة التطبيقات للحزم والفئات على أنّه "مضاف في مستوى واجهة برمجة التطبيقات" في أعلى يسار مساحة المحتوى في كل صفحة من صفحات المستندات. ويتم تحديد مستوى واجهة برمجة التطبيقات لأعضاء الصف في عناوين الأوصاف التفصيلية في الهامش الأيمن.