<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.

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

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

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

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

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

تمّت إتاحتها في المستوى 4 من واجهة برمجة التطبيقات

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

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

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

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

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

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

تمّت إتاحتها في المستوى 4 من واجهة برمجة التطبيقات

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

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

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

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

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

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

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

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

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

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

إصدار النظام الأساسيمستوى واجهة برمجة التطبيقاتVERSION_CODEملاحظات
Android 16 الإصدار 35 من واجهة برمجة التطبيقات → الإصدار DP1 أهمّ الميزات في المنصة
Android 15 35 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 أهمّ الميزات في المنصة
Android 8.1 27 O_MR1 أهمّ الميزات في المنصة
Android 8.0 26 O أهمّ الميزات في المنصة
Android 7.1.1
Android 7.1
25 N_MR1 أهمّ الميزات في المنصة
Android 7.0 24 N أهمّ الميزات في المنصة
Android 6.0 23 M أهمّ الميزات في المنصة
Android 5.1 22 LOLLIPOP_MR1 أهمّ الميزات في المنصة
Android 5.0 21 LOLLIPOP
Android 4.4W 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
Android 3.1.x 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 أهمّ الميزات في المنصة
Android 2.1.x 7 ECLAIR_MR1 أهمّ الميزات في المنصة
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT أهمّ الميزات في المنصة
Android 1.5 3 CUPCAKE أهمّ الميزات في المنصة
Android 1.1 2 BASE_1_1
Android 1.0 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 بأنّه يستخدم واجهات برمجة التطبيقات التي تم إدخالها في مستوى واجهة برمجة التطبيقات المحدّد.android:minSdkVersion

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

اعتبارات متعلقة بالتطوير

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

التوافق المستقبلي للتطبيقات

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

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

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

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

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

التوافق مع الإصدارات القديمة من التطبيق

لا تكون تطبيقات Android متوافقة بالضرورة مع الإصدارات القديمة من منصّة Android التي يتجاوز عمرها الإصدار الذي تم تجميعها وفقًا له.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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