فضای نام androidx شامل کتابخانههای Android Jetpack است. مانند کتابخانه پشتیبانی، کتابخانههای موجود در فضای نام androidx به طور جداگانه از پلتفرم اندروید ارائه میشوند و سازگاری معکوس را در بین نسخههای مختلف اندروید فراهم میکنند.
AndroidX یک پیشرفت عمده برای کتابخانه پشتیبانی اصلی اندروید است که دیگر پشتیبانی نمیشود. بستههای androidx با ارائه برابری ویژگیها و کتابخانههای جدید، کتابخانه پشتیبانی را به طور کامل جایگزین میکنند.
علاوه بر این، AndroidX شامل ویژگیهای زیر است:
تمام بستههای موجود در AndroidX در یک فضای نام (namespace) ثابت قرار دارند که با رشته
androidxشروع میشوند. بستههای کتابخانه پشتیبانی به بستههایandroidx.*مربوطه نگاشت شدهاند. برای نگاشت کامل تمام کلاسهای قدیمی و ساخت مصنوعات برای کلاسهای جدید، به صفحه Refactoring بستهها مراجعه کنید.برخلاف کتابخانه پشتیبانی، بستههای
androidxبه طور جداگانه نگهداری و بهروزرسانی میشوند. بستههایandroidxاز نسخهبندی معنایی سختگیرانهای استفاده میکنند که از نسخه ۱.۰.۰ شروع میشود. میتوانید کتابخانههای AndroidX را در پروژه خود به طور مستقل بهروزرسانی کنید.نسخه ۲۸.۰.۰ آخرین نسخه از کتابخانه پشتیبانی است. دیگر هیچ نسخهای از کتابخانه
android.supportمنتشر نخواهد شد. تمام توسعه ویژگیهای جدید در فضای نامandroidxخواهد بود.
استفاده از کتابخانههای androidx در پروژه شما
AGP فعلی به طور پیشفرض از کتابخانههای androidx پشتیبانی میکند. برای یادگیری نحوه مهاجرت یک پروژه موجود، به بخش مهاجرت به AndroidX مراجعه کنید.
برای پروژههایی که مهاجرت نکردهاند، یا وابستگیهای قدیمی دارند که این کار را نکردهاند، AGP پرچمهای زیر را ارائه میدهد که میتوانند در فایل gradle.properties پروژه شما تنظیم شوند.
-
android.useAndroidX: به طور پیشفرض در افزونه اندروید Gradle نسخه ۹.۰.۰ و بالاتر، مقدار True و در نسخههای قبل از ۹.۰.۰، مقدار false دارد. وقتی این پرچم رویtrueتنظیم شود، افزونه اندروید به جای یک کتابخانه پشتیبانی، از کتابخانه AndroidX مناسب استفاده میکند. قرار است قابلیت تنظیم این پرچم رویfalseدر AGP نسخه ۱۰ حذف شود. -
android.enableJetifier: وقتی این پرچم رویtrueتنظیم شده باشد، افزونه اندروید به طور خودکار کتابخانههای شخص ثالث موجود را با بازنویسی فایلهای باینری آنها، برای استفاده از وابستگیهای AndroidX مهاجرت میدهد. اگر این پرچم مشخص نشده باشد، به طور پیشفرضfalseاست و قرار است در AGP 10 حذف شود، زیرا کتابخانههای منتشر شده عموماً مهاجرت را تکمیل کردهاند.
مرجع API
تمام بستهها و کلاسهای موجود در فضای نام androidx را میتوانید در بخش مرجع AndroidX پیدا کنید.
منابع اضافی
برای کسب اطلاعات بیشتر در مورد کامپوننتها به صفحه اصلی Jetpack مراجعه کنید. برای اطلاعات بیشتر در مورد بازسازی بسته از کتابخانه پشتیبانی به androidx ، به پست وبلاگ در مورد آن موضوع مراجعه کنید.