<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" في ملف البيان. يعمل المستخدم الذي يعمل على نظام التشغيل Android 1.6 (المستوى 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
الإصدار 15 من نظام التشغيل Android واجهة برمجة التطبيقات 34 ← DP1 VANILLA_ICE_CREAM أهم ميزات المنصة
Android 14 34 UPSIDE_DOWN_CAKE أهم ميزات المنصة
الإصدار 13 من نظام التشغيل Android 33 TIRAMISU أهم ميزات المنصة
الإصدار 12 من نظام التشغيل Android 32 S_V2 أهم ميزات المنصة
31 S أهم ميزات المنصة
الإصدار 11 من نظام التشغيل Android 30 R أهم ميزات المنصة
الإصدار 10 من نظام التشغيل Android 29 Q أهم ميزات المنصة
نظام التشغيل Android 9 28 P أهم ميزات المنصة
الإصدار 8.1 من نظام التشغيل Android 27 O_MR1 أهم ميزات المنصة
الإصدار 8.0 من نظام التشغيل Android 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 أهم ميزات المنصة
الإصدار 5.0 من نظام التشغيل Android 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH KitKat للأجهزة القابلة للارتداء فقط
الإصدار 4.4 من نظام التشغيل Android 19 KITKAT أهم ميزات المنصة
الإصدار 4.3 من نظام التشغيل Android 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
الإصدار 3.2 من نظام التشغيل Android 13 HONEYCOMB_MR2
الإصدار 3.1.x من Android 12 HONEYCOMB_MR1 أهم ميزات المنصة
الإصدار 3.0.x من نظام التشغيل Android 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
الإصدار 2.2.x من نظام التشغيل Android 8 FROYO أهم ميزات المنصة
الإصدار 2.1.x من Android 7 ECLAIR_MR1 أهم ميزات المنصة
الإصدار 2.0.1 من Android 6 ECLAIR_0_1
الإصدار 2.0 من نظام التشغيل Android 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 نفسه.

يمكن للتطبيقات استخدام عنصر بيان مُقدَّم من واجهة برمجة التطبيقات API لإطار العمل، وهي <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 الأساسي.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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