مشخصات مقاله
-
913
-
0.0
-
3099
-
0
-
0
آموزش Xamarin-درک سطح API Android
آموزش Xamarin-درک سطح API Android
نحوه تنظیم تنظیمات سطح API در Xamarin.Android.
Xamarin.Android دارای چندین تنظیمات سطح Android API است که سازگاری برنامه شما با چندین نسخه Android را تعیین می کند. این راهنما توضیح می دهد که این تنظیمات چه معنایی دارند، نحوه پیکربندی آنها و تأثیر آنها بر روی برنامه شما در زمان اجرا بررسی می کند.
شروع سریع
Xamarin.Android سه تنظیمات برای پروژه آندرویید API را ارائه می دهد:
- Target Framework: تعیین framework برای استفاده در ساختن درخواست شما. این سطح API در زمان کامپایل توسط Xamarin.Android مورد استفاده قرار می گیرد.
- Minimum Android Version: تعیین قدیمی ترین نسخه آندروید که می خواهید برنامه شما پشتیبانی کند. این سطح API در زمان اجرا توسط آندروید استفاده می شود.
- Target Android Version: تعیین ایده آل ترین نسخه آندرویید که برنامه شما در نظر گرفته تا آن را اجرا کند. این سطح API در زمان اجرا توسط آندروید استفاده می شود.
قبل از اینکه بتوانید سطح API را برای پروژه خود پیکربندی کنید، باید اجزای پلت فرم SDK را برای آن سطح API نصب کنید. برای کسب اطلاعات بیشتر در مورد دانلود و نصب اجزای Android SDK، به مقاله «نحوه استفاده از Xamarin Android SDK Manager» مراجعه کنید.
به طور معمول، هر سه سطح "Xamarin.Android API" به همان value تنظیم می شوند. در صفحه برنامه،مجموعه "Compile" را با استفاده از نسخه Android (Target Framework) به آخرین نسخه پایدار API (یا حداقل به نسخه Android که دارای تمام ویژگیهایی است که نیاز دارید) تنظیم کنید. در تصویر زیر، Target Framework برای Android 7.1 تنظیم شده است (API Level 25 - Nugat).
در صفحه Android Manifest نسخه Android Manifest را برای استفاده از Compile با استفاده از نسخه SDK تنظیم کنیدو نسخه Target Android را با همان مقدار به عنوان نسخه Target Framework تنظیم کنید. (در تصویر زیر، Target Android Framework به Android 7.1 (Nuga) تنظیم شده است):
اگر میخواهید سازگاری برگشتی با نسخه قبلی Android داشته باشید، «Minimum Android version to target» را به قدیمیترین نسخه Android که میخواهید برنامهتان را پشتیبانی کنید، تنظیم کنید. (توجه داشته باشید که API Level 14 حداقل سطح API مورد نیاز برای خدمات Google Play و پشتیبانی Firebase است.) پیکربندی مثال زیر از نسخه های Android از سطح API 14 تا سطح API 25 پشتیبانی می کند:
نسخه های Android و API Levels
همانطور که پلت فرم آندروید تکامل یافته و نسخه های جدید آندروید منتشر شده است، به هر نسخه از آندروید یک شناسه صحیح منحصر به فرد اختصاص داده شده، به نام "API Level".بنابراین، هر نسخه آندروید مربوط به یک Android API Level است. از آنجا که کاربران برنامه های نصب شده را در نسخه های قدیمی تر و همچنین نسخه های جدیدتر اندروید نصب می کنند، برنامه های آندروید در دنیای واقعی باید برای کار با سطوح مختلف Android API طراحی شوند.
نسخه های آندروید
هر نسخه آندروید با نام های متعدد وارد می شود:
- نسخه آندروید، مانند Android 7.1
- نام کد، مانند Nougat
- سطح API مربوطه، مانند API level 25
یک نام کد Android ممکن است به نسخه های متعدد و API level مربوط باشد (همانطور که در لیست زیر دیده می شود)، اما هر نسخه Android دقیقا با یک سطح API مطابقت دارد.
علاوه بر این، Xamarin.Android >>" build version codes" را تعریف می کند که نقشه را به Android API levels شناخته شده می دهد.لیست زیر می تواند به شما در ترجمه بین API level ، نسخه آندروید،نام کد،و Xamarin.Android در ساخت نسخه کد کمک می کند.
- API 26 (Android 8.0) – Oreo, released August 2017. Build version code Android.OS.BuildVersionCodes.O
- API 25 (Android 7.1) – Nougat, released December 2016. Build version code Android.OS.BuildVersionCodes.NMr1
- API 24 (Android 7.0) – Nougat, released August 2016. Build version code Android.OS.BuildVersionCodes.N
- API 23 (Android 6.0) – Marshmallow, released August 2015. Build version code Android.OS.BuildVersionCodes.M
- API 22 (Android 5.1) – Lollipop, released March 2015. Build version code Android.OS.BuildVersionCodes.LollipopMr1
- API 21 (Android 5.0) – Lollipop, released November 2014. Build version code Android.OS.BuildVersionCodes.Lollipop
- API 20 (Android 4.4W) – Kitkat Watch, released June 2014. Build version code Android.OS.BuildVersionCodes.KitKatWatch
- API 19 (Android 4.4) – Kitkat, released October 2013. Build version code Android.OS.BuildVersionCodes.KitKat
- API 18 (Android 4.3) – Jelly Bean, released July 2013. Build version code Android.OS.BuildVersionCodes.JellyBeanMr2
- API 17 (Android 4.2-4.2.2) – Jelly Bean, released November 2012. Build version code Android.OS.BuildVersionCodes.JellyBeanMr1
- API 16 (Android 4.1-4.1.1) – Jelly Bean, released June 2012. Build version code Android.OS.BuildVersionCodes.JellyBean
- API 15 (Android 4.0.3-4.0.4) – Ice Cream Sandwich, released December 2011. Build version code Android.OS.BuildVersionCodes.IceCreamSandwichMr1
- API 14 (Android 4.0-4.0.2) – Ice Cream Sandwich, released October 2011. Build version code Android.OS.BuildVersionCodes.IceCreamSandwich
- API 13 (Android 3.2) – Honeycomb, released June 2011. Build version code Android.OS.BuildVersionCodes.HoneyCombMr2
- API 12 (Android 3.1.x) – Honeycomb, released May 2011. Build version code Android.OS.BuildVersionCodes.HoneyCombMr1
- API 11 (Android 3.0.x) – Honeycomb, released February 2011. Build version code Android.OS.BuildVersionCodes.HoneyComb
- API 10 (Android 2.3.3-2.3.4) – Gingerbread, released February 2011. Build version code Android.OS.BuildVersionCodes.GingerBreadMr1
- API 9 (Android 2.3-2.3.2) – Gingerbread, released November 2010. Build version code Android.OS.BuildVersionCodes.GingerBread
- API 8 (Android 2.2.x) – Froyo, released June 2010. Build version code Android.OS.BuildVersionCodes.Froyo
- API 7 (Android 2.1.x) – Eclair, released January 2010. Build version code Android.OS.BuildVersionCodes.EclairMr1
- API 6 (Android 2.0.1) – Eclair, released December 2009. Build version code Android.OS.BuildVersionCodes.Eclair01
- API 5 (Android 2.0) – Eclair, released November 2009. Build version code Android.OS.BuildVersionCodes.Eclair
- API 4 (Android 1.6) – Donut, released September 2009. Build version code Android.OS.BuildVersionCodes.Donut
- API 3 (Android 1.5) – Cupcake, released May 2009. Build version code Android.OS.BuildVersionCodes.Cupcake
- API 2 (Android 1.1) – Base, released February 2009. Build version code Android.OS.BuildVersionCodes.Base11
- API 1 (Android 1.0) – Base, released October 2008. Build version code Android.OS.BuildVersionCodes.Base
همانطور که این لیست نشان می دهد، نسخه های جدید اندرویدی زیاد منتشر می شوند - گاهی اوقات چندین بار در سال منتشر می شود. به عنوان یک نتیجه، جهانی از دستگاه های آندروید که ممکن است برنامه شما در آنها اجرا شود، شامل طیف گسترده ای از نسخه های قدیمی تر و جدیدتر است. چگونه می توان تضمین کرد که برنامه شما به طور مداوم و قابل اطمینان بر روی بسیاری از نسخه های مختلف آندروید اجرا خواهد شد؟ Android's API levels می تواند به شما در مدیریت این مشکل کمک کند.
سطوح API Android
هر دستگاه اندرویدی با دقیقا یک سطح API اجرا می شود - این سطح API تضمین شده است که در هر نسخه از پلت فرم آندروید منحصر به فرد باشد. سطح API دقیقا مشخص کننده نسخه تنظیمات API است که برنامه شما می تواند فرخوانی کند. این ترکیبی از عناصر " manifest "، مجوز ها، و غیره که شما به عنوان یک توسعه دهنده کد گذاری می کنید را مشخص می کند.
"سیستم Android" از " API levels" به "آندروید" کمک می کند تا تعیین کند چه برنامه ای با یک تصویر سیستم Android قبل از نصب برنامه در یک دستگاه سازگار است.
هنگامی که یک برنامه ساخته شده است، حاوی اطلاعات API level زیر است:
- Target API level از آندروید که برنامه برای اجرا در آن ساخته شده است.
- " minimum Android API level" (حداقل سطح Android API)که یک دستگاه Android باید برای اجرای برنامه شما داشته باشد.
این تنظیمات برای اطمینان از اینکه عملکرد لازم برای اجرای برنامه به درستی در دستگاه اندرویدی در زمان نصب وجود دارد استفاده می شود. اگر نه، برنامه در حال اجرا در آن دستگاه مسدود می شود. به عنوان مثال، اگر سطح API یک دستگاه Android کمتر از حداقل سطح API است که برای برنامهتان تعیین میکنید، دستگاه Android از کاربر جلوگیری میکند که برنامه تان را نصب کند.
تنظیمات سطح پروژه API(Project API Level Settings)
بخش های زیر نحوه استفاده از "SDK Manager" را برای تهیه محیط توسعه خود برای API levels که می خواهید هدف قرار دهید توضیح دهید. درباره نحوه پیکربندی " Target Framework"، "حداقل نسخه آندروید" و " Target Android version(نسخه مورد نظر در آندرویید)" در "Xamarin.Android" توضیحات دقیق ارائه می شود.
پلت فرم آندروید SDK
قبل از اینکه بتوانید سطح هدف یا API level را در "Xamarin.Android" انتخاب کنید، شما باید نسخه پلتفرم Android SDK که مربوط به آن سطح API است نصب کنید. طیف وسیعی از گزینه های موجود برای " Target Framework"، " Minimum Android version" و " Target Android version" محدود به نسخه های Android SDK است که شما نصب کرده اید. شما می توانید "SDK Manager" را برای تأیید اینکه نسخه های مورد نیاز Android SDK نصب شده است، استفاده کنید. و شما می توانید از آن برای اضافه کردن هر API levels جدیدی که برای برنامه شما نیاز است اضافه کنید. اگر شما با نحوه نصب API levels آشنا نیستید، به مقاله «نحوه استفاده از Xamarin SDK Manager » مراجعه کنید.
Target Framework
" Target Framework" (همچنین به عنوان "compileSdkVersion" شناخته می شود) نسخه خاص " Framework " Android (سطح API) است که برنامه شما برای زمان ساخت، کامپایل شده است.این تنظیمات مشخص می کنید برنامه شما از چه API هایی وقتی که اجرا می شود استفاده می کند، اما زمانی که نصب می شود هیچ تاثیری بر روی API های موجود در برنامه شما ندارند. در نتیجه، تغییر تنظیمات " Target Framework" رفتار " runtime" را تغییر نمی دهد.
Target Framework مشخص می کند کدام نسخه های کتابخانه برنامه شما با آن مرتبط است ، این مشخص می کند که شما از کدام APIs ها در برنامه خود می توانید استفاده کنید.
به عنوان مثال، اگر می خواهید از روش "NotificationBuilder.SetCategory" که در Android 5.0 Lollipop معرفی شده است استفاده کنید، باید چارچوب Target را به "API Level 21 (Lollipop)" یا بالاتر تنظیم کنید.اگر Target Framework پروژه خود را به یک API level مانند API Level 19 (KitKat) تنظیم کنید و سعی کنید با متد SetCategory فرخوانی کنید ، شما یک خطای کامپایل دریافت خواهید کرد.
توصیه می کنیم همیشه با آخرین نسخه موجود در Target Framework کامپایل کنید. انجام این کار به شما پیام های هشدار دهنده مفید برای هر یک از API های محروم که ممکن است توسط کد شما فرخوانده شود را فراهم کند.
با استفاده از جدیدترین نسخه " Target Framework" مهم است که شما از آخرین نسخه کتابخانه پشتیبانی شده استفاده کنید - هر کتابخانه انتظار دارد برنامه شما "حداقل API سطح کتابخانه" و یا بیشتر در آن پشتیبانی کامپایل شود.
برای دسترسی به تنظیمات Target Framework در ویژوال استودیو، project properties را در Solution Explorer باز کنید و صفحه Application را انتخاب کنید:
همانطور که در بالا نشان داده شده است Target Framework را با انتخاب API level در منو کشویی در زیر Compile using Android version تنظیم کنید.
حداقل نسخه آندروید(Minimum Android Version)
Minimum Android version (همچنین به عنوان "minSdkVersion" شناخته می شود) قدیمی ترین نسخه سیستم عامل Android (یعنی پایین ترین سطح API) است که می تواند برنامه شما را نصب و اجرا کند. به طور پیش فرض، برنامه تنها می تواند بر روی دستگاهی نصب شود که مطابق تنظیمات Target Framework یا بالاتر باشد. اگر تنظیم "حداقل نسخه آندروید" "پایین تر" از تنظیمات " Target Framework" باشد، برنامه شما نیز می تواند در نسخه های قبلی اندروید اجرا شود. به عنوان مثال، اگر Target Framework را به "Android 7.1 (Nugat)" تنظیم کرده و " حداقل نسخه آندروید " را به "Android 4.0.3 (Ice Cream Sandwich)" تنظیم کنید، برنامه شما می تواند بر روی هر پلتفرم از " API level 15 "تا" API level 25 "، نصب شود.
اگرچه برنامه شما می تواند با موفقیت بر روی طیف وسیعی از پلت فرم ها ساخته و نصب شود اما این تضمین نمی کند که در تمام این پلت فرم ها ها اجرا شود.به عنوان مثال اگر برنامه شما بر روی Android 5.0 (Lollipop) نصب شود و کد شما API ای را فرخوانی کند که در Android 7.1 (Nougat) و جدید تر در دسترس باشد بر نامه شما یک خطای runtime error میدهد و ممکن است سقوط(crash) کند.بنابراین، کد شما باید در زمان اجرا مطمئن شود که فقط آن API ها را پشتیبانی می کند که توسط دستگاه Android که در آن اجرا می شود پشتیبانی می کند. به عبارت دیگر، کد شما باید شامل " runtime checks " صحیح باشد تا اطمینان حاصل شود که برنامه شما از "APIs" جدیدتر استفاده می کند و فقط در دستگاههایی که اخیرا به اندازه کافی از آنها استفاده می شود پشتیبانی کند . "بررسی زمان اجرا برای نسخه های آندروید"، بعدا در این مقاله، توضیح می دهد که چگونه این چک های زمان اجرا(runtime checks) را به کد خود اضافه کنید.
برای دسترسی به تنظیمات حداقل نسخه اندرویدی در Visual Studio، « project properties» را در «Solution Explorer» باز کنید و صفحه «Android Manifest» را انتخاب کنید. در منوی کشویی زیر " Minimum Android version " میتوانید Minimum Android version را برای برنامه خود انتخاب کنید:
اگر شما Use Compile using SDK version انتخاب کنید ، نسخه Minimum Android همانند تنظیمات Target Framework خواهد بود.
Target Android Version
Target Android Version (همچنین به عنوان targetSdkVersion شناخته می شود) یک API level از دستگاه Android است جایی که برنامه انتظار دارد اجرا شود. آندروید از این تنظیم استفاده می کند تا هر رفتار سازگاری را فعال کند - این تضمین می کند که برنامه شما همچنان به کارهایی که شما انتظار دارید، ادامه می دهد.آندرویید با استفاده از تنظیمات Target Android version برنامه شما برای کشف کردن اینکه کدام تغییر رفتار را می توانید به برنامه خود اعمال کنید بدون شکستن آن(آندروید سازگاری رو به جلو را فراهم می کند.)
" Target Framework " و " Target Android version"، در حالی که دارای نام های بسیار مشابه هستند، یکسان نیستند. تنظیمات " Target Framework" اطلاعات " target API level" را به "Xamarin.Android" برای استفاده در زمان کامپایل ارتباط می دهد.در حالی که Target Android version " اطلاعات مربوط به " target API level" را برای آندروید برای استفاده در زمان اجرا (هنگامی که برنامه نصب شده و در یک دستگاه اجرا می شود) ارتباط می دهد.
برای دسترسی به این تنظیمات در Visual Studio، « project properties» را در «Solution Explorer» باز کنید و صفحه «Android Manifest» را انتخاب کنید. در منوی کشویی زیر " Target Android version" می توانید Target Android version را برای برنامه خود انتخاب کنید:
توصیه میکنیم به طور صریح " Target Android version" را به آخرین نسخه Android که برای تست برنامه خود استفاده می کنید تنظیم کنید. در حالت ایده آل، باید آن را به آخرین نسخه Android SDK تنظیم کنید- این به شما اجازه می دهد از API های جدید استفاده کنید تا از طریق تغییر رفتار کار کنید. برای اکثر توسعه دهندگان ، ما توصیه نمی کنیم نسخه Android Target را به « Use Compile using SDK version » تنظیم کنند.
به طور کلی، Target Android Version باید توسط Minimum Android Version و Target Framework محدود شود. این است که:
Minimum Android Version <= Target Android Version <= Target Framework
چک کردن زمان اجرا برای نسخه های آندروید(Runtime Checks for Android Versions)
همانطور که هر نسخه جدید Android منتشر می شود، API به روز می شود تا قابلیت های جدید یا جایگزینی را ارائه دهد. با چند استثناء ، عملکر API از نسخه های قبلی آندرویید بدون تغییر به نسخه های جدید آندرویید منتقل می شود. در نتیجه ، اگر برنامه شما بر روی سطح خاص Android API اجرا شود، به طور معمول قادر به اجرای سطح API Android بدون تغییر است. اما اگر شما همچنین می خواهید برنامه خود را در نسخه های قبلی آندروید اجرا کنید، چه؟
اگر " Minimum Android version" را انتخاب کنید که کمتر از تنظیمات "Target Framework" شما است،برخی از API ها ممکن است برای برنامه شما در زمان اجرا در دسترس نباشند. با این وجود، برنامه شما هنوز هم میتواند بر روی یک دستگاه قدیمیتر اجرا شود، اما با قابلیت کاهش یافته تر. برای هر "API" که در Android موجود نیست مربوط به تنظیمات " Minimum Android version " شماست ، کد شما باید صریحا مقدار ویژگی Android.OS.Build.VERSION.SdkInt را بررسی کند تا سطح API مربوط به پلتفرمی را که برنامه در حال اجرا است تعیین کند. اگر API level پایین تر از " Minimum Android version " است که از API شما می خواهد فراخوانی کند، سپس کد شما باید راهی مناسب برای کارکردن بدون ایجاد این فرخوانی API پیدا کند.
به عنوان مثال، فرض کنید که ما می خواهیم از روش NotificationBuilder.SetCategory برای دسته بندی notification در هنگام اجرای Android 5.0 Lollipop (و بعدا) استفاده کنیم اما ما هنوز هم می خواهیم برنامه ما در نسخه های قبلی اندروید مانند Android 4.1 Jelly Bean اجرا شود (جایی که SetCategory در دسترس نیست). با اشاره به جدول " Android version" در ابتدای این راهنما، ما می بینیم که نسخه کد ساخته شده برای Android 5.0 Lollipop یک Android.OS.BuildVersionCodes.Lollipop است. برای پشتیبانی از نسخه های قدیمی تر از Android که SetCategory در دسترس نیست، کد ما می تواند سطح API را در زمان اجرا شناسایی کند و به صورت شرطی SetCategory را فقط زمانی که سطح API بزرگتر یا مساوی با کد نسخه Lollipop است فراخوانی کند:
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{
builder.SetCategory(Notification.CategoryEmail);
}
در این مثال، " Target Framework" برنامه ما بر روی "Android 5.0 (API Level 21)" تنظیم شده است و "Minimum Android version" آن به "Android 4.1 (API Level 16)" تنظیم شده است. از آنجا که "SetCategory" در "سطح API"( Android.OS.BuildVersionCodes.Lollipop) و جدیدتر در دسترس است ، این کد مثال، "SetCategory" را فقط هنگامی که در واقع موجود است، فراخوانی می کند- تلاش نخواهد کرد برای فرخوانی SetCategory زمانی که سطح API 16، 17، 18، 19 یا 20 است. این قابلیت در این نسخه های اندروید پیشین تنها تا حدی که notifications ها به درستی مرتب نشده اند (زیرا آنها به صورت type طبقه بندی نشده اند) کاهش می یابد ، هنوز notifications ها برای اطلاع دادن کاربر منتشر می شوند. برنامه ما هنوز هم کار می کند، اما قابلیت آن کمی کاهش یافته است.
به طور کلی، بررسی نسخه ساخت به کد شما کمک می کند که تصمیم گیری کنید در زمان اجرا بین انجام کاری جدید در مقایسه با راه قدیمی است. مثلا:
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{
// Do things the Lollipop way
}
else
{
// Do things the pre-Lollipop way
}
هیچ قاعده سریع و ساده ای که نحوه کاهش یا اصلاح عملکرد برنامه شما را زمانی که آن را در نسخه های قدیمی تر آندروید اجرا می کنید که یک یا چند API وجود ندارد بتواند توضیح بدهد وجود ندارد. در برخی موارد (مانند مثال مثال SetCategory بالا) کافی است که به سادگی فراخوان API را هنگامی که آن را در دسترس نباشد، حذف کنید. با این حال، در موارد دیگر، ممکن است مجبور به اجرای قابلیت های متناوب برای زمانی باشید که Android.OS.Build.VERSION.SdkInt کمتر از سطح API است که برنامه شما نیاز به ارائه تجربه بهینه آن را دارد.
سطوح API و کتابخانه ها(API Levels and Libraries)
زمانی که یک پروژه Xamarin.Android library ایجاد می کنید(مانند یک class library یا bindings library) شما می توانید تنها تنظیمات Target Framework را پیکربندی کنید. تنظیمات " Minimum Android version" و Target Android version نسخه در دسترس نیستند.به همین دلیل است که صفحه "Android Manifest" وجود ندارد:
تنظیمات " Minimum Android version" و " Target Android version" در دسترس نیستند زیرا کتابخانه حاصل یک برنامه مستقل نیست. بسته به برنامه که با آن بسته بندی(packaged) شده است ، کتابخانه می تواند بر روی هر نسخه آندروید اجرا شود. شما می توانید مشخص کنید که چگونه کتابخانه باید کامپایل شود اما شما نمی توانید پیش بینی کنید که کدام سطح API کدام کتابخانه را اجرا کند. با داشتن این نکته در ذهن،هنگام استفاده یا ایجاد کتابخانه ها باید بهترین شیوه های زیر را داشته باشید:
- هنگام استفاده از یک کتابخانه آندروید : اگر از کتابخانه Android خود در برنامه خود استفاده می کنید، باید تنظیمات Target Framework برنامه خود را به API level که حداقل به عنوان تنظیمات Target Frameworkکتابخانه است، تنظیم کنید.
- هنگام ایجاد یک کتابخانه آندروید : اگر شما یک کتابخانه اندروید برای استفاده توسط برنامه های دیگر ایجاد می کنید، مطمئن شوید که تنظیمات Target Framework خود را به حداقل API level که برای کامپایل نیاز دارید تنظیم کنید.
این بهترین شیوه ها برای جلوگیری از وضعیتی که یک کتابخانه تلاش می کند با یک API که در زمان اجرا در دسترس نیست (که می تواند باعث شود برنامه سقوط(crash) کند) توصیه می شود. اگر شما یک توسعه دهنده کتابخانه هستید، شما باید تلاش خود را برای محدود کردن استفاده از فرخوانی API به خوبی انجام دهید-زیر مجموعه ای از سطح کل API ایجاد شده است. انجام این کار به شما کمک می کند تا اطمینان حاصل کنید که کتابخانه خود را می توانید ایمن تر و در محدوده وسیع تر از نسخه های آندروید استفاده کنید.
خلاصه
این راهنما توضیح داد که چگونه Android API levels را برای مدیریت سازگاری برنامه در نسخه های مختلف اندروید مورد استفاده قرار دهید.این مقاله مراحل دقیق برای پیکربندی Xamarin.Android Target Framework ، Minimum Android version و Target Android version تنظیمات پروژه ارائه کرد. این دستورالعمل برای استفاده از Android SDK Manager برای نصب بسته های SDK ارائه شده است که شامل نمونه هایی از نحوه نوشتن کد برای مقابله با سطوح مختلف API در زمان اجرا،و اینکه چگونه برای مدیریت سطوح API هنگام ایجاد یا مصرف کتابخانه های آندروید را توضیح می دهد. همچنین یک لیست جامع ارائه داد که سطوح API مربوط به شماره نسخه آندروید (مانند Android 4.4)، نام نسخه های آندروید (مانند Kitkat) و Xamarin.Android کدهای نسخه را ایجاد می کند.