پشتیبانی از راه اندازی کتابخانه

توجه: با انتشار اندروید 9.0 (سطح API 28) نسخه جدیدی از کتابخانه پشتیبانی به نام AndroidX وجود دارد که بخشی از Jetpack است. کتابخانه AndroidX شامل کتابخانه پشتیبانی موجود و همچنین شامل آخرین اجزای Jetpack است.

می توانید به استفاده از کتابخانه پشتیبانی ادامه دهید. مصنوعات تاریخی (آنهایی که نسخه 27 و قبل از آن منتشر شده اند و به عنوان android.support.* ) در Google Maven در دسترس خواهند بود. با این حال، تمام توسعه کتابخانه جدید در کتابخانه AndroidX رخ خواهد داد.

توصیه می کنیم از کتابخانه های AndroidX در تمام پروژه های جدید استفاده کنید. همچنین باید پروژه های موجود را به AndroidX منتقل کنید .

نحوه راه‌اندازی کتابخانه‌های پشتیبانی Android در پروژه توسعه به این بستگی دارد که می‌خواهید از چه ویژگی‌هایی استفاده کنید و چه طیفی از نسخه‌های پلتفرم Android را می‌خواهید با برنامه خود پشتیبانی کنید.

این سند شما را از طریق دانلود بسته کتابخانه پشتیبانی و افزودن کتابخانه ها به محیط توسعه خود راهنمایی می کند.

کتابخانه های پشتیبانی اکنون از طریق مخزن Maven Google در دسترس هستند. ما دیگر از دانلود کتابخانه ها از طریق مدیر SDK پشتیبانی نمی کنیم و این عملکرد به زودی حذف خواهد شد.

انتخاب کتابخانه های پشتیبانی

قبل از افزودن یک کتابخانه پشتیبانی به برنامه خود، تصمیم بگیرید که چه ویژگی هایی را می خواهید شامل شود و پایین ترین نسخه اندرویدی را که می خواهید پشتیبانی کنید. برای اطلاعات بیشتر در مورد ویژگی های ارائه شده توسط کتابخانه های مختلف، به ویژگی های کتابخانه پشتیبانی مراجعه کنید.

افزودن کتابخانه های پشتیبانی

برای استفاده از کتابخانه پشتیبانی، باید وابستگی های مسیر کلاس پروژه برنامه خود را در محیط توسعه خود تغییر دهید. شما باید این روش را برای هر کتابخانه پشتیبانی که می خواهید استفاده کنید انجام دهید.

برای افزودن کتابخانه پشتیبانی به پروژه برنامه خود:

  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 v4، موارد زیر را اضافه کنید:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }
    

احتیاط: استفاده از وابستگی های پویا (به عنوان مثال، palette-v7:23.0.+ ) می تواند باعث بروز رسانی های غیرمنتظره نسخه و ناسازگاری های رگرسیون شود. توصیه می کنیم که به صراحت یک نسخه کتابخانه (به عنوان مثال، palette-v7:28.0.0 ) را مشخص کنید.

استفاده از پشتیبانی کتابخانه API

کلاس‌های کتابخانه پشتیبانی که از APIهای چارچوب موجود پشتیبانی می‌کنند، معمولاً همان نام کلاس فریمورک را دارند اما در بسته‌های کلاس android.support قرار دارند یا پسوند *Compat دارند.

احتیاط: هنگام استفاده از کلاس‌های کتابخانه پشتیبانی، مطمئن شوید که کلاس را از بسته مناسب وارد می‌کنید. به عنوان مثال، هنگام اعمال کلاس ActionBar :

  • android.support.v7.app.ActionBar هنگام استفاده از کتابخانه پشتیبانی.
  • android.app.ActionBar هنگام توسعه فقط برای سطح API 11 یا بالاتر.

توجه: پس از گنجاندن کتابخانه پشتیبانی در پروژه برنامه خود، اکیداً توصیه می کنیم که برنامه خود را کوچک کنید، مبهم کنید و برای انتشار بهینه سازی کنید . علاوه بر محافظت از کد منبع شما با مبهم سازی، کوچک کردن کلاس های استفاده نشده را از هر کتابخانه ای که در برنامه خود قرار می دهید حذف می کند، که حجم دانلود برنامه شما را تا حد امکان کوچک نگه می دارد.

راهنمایی بیشتر برای استفاده از برخی ویژگی‌های کتابخانه پشتیبانی در کلاس‌ها، راهنماها و نمونه‌های آموزش برنامه‌نویس اندروید ارائه شده است. برای اطلاعات بیشتر در مورد کلاس‌ها و روش‌های کتابخانه پشتیبانی فردی، بسته‌های android.support را در مرجع API ببینید.

تغییرات بیانیه آشکار

اگر با کتابخانه پشتیبانی، سازگاری برنامه موجود خود را به نسخه قبلی API Android افزایش می دهید، حتماً مانیفست برنامه خود را به روز کنید. به طور خاص، باید عنصر android:minSdkVersion تگ <uses-sdk> در مانیفست را به شماره نسخه جدید و پایین‌تر به‌روزرسانی کنید، همانطور که در زیر نشان داده شده است:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

تنظیم مانیفست به Google Play می‌گوید که برنامه شما را می‌توان روی دستگاه‌های دارای Android نسخه 4.0 (سطح API 14) و بالاتر نصب کرد.

اگر از فایل های ساخت Gradle استفاده می کنید، تنظیمات minSdkVersion در فایل ساخت، تنظیمات مانیفست را لغو می کند.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

در این حالت، تنظیمات فایل ساخت به Google Play می‌گوید که نوع ساخت پیش‌فرض برنامه شما را می‌توان بر روی دستگاه‌های دارای Android 4.1 (سطح API 16) و بالاتر نصب کرد. برای اطلاعات بیشتر در مورد انواع ساخت، نمای کلی سیستم ساخت را ببینید.

توجه: اگر چندین کتابخانه پشتیبانی را شامل می‌کنید، حداقل نسخه SDK باید بالاترین نسخه مورد نیاز هر یک از کتابخانه‌های مشخص‌شده باشد. برای مثال، اگر برنامه شما شامل کتابخانه پشتیبانی ترجیحی v14 و کتابخانه Leanback v17 باشد، حداقل نسخه SDK شما باید 17 یا بالاتر باشد.