نمای کلی AndroidX، نمای کلی AndroidX، نمای کلی AndroidX

فضای نام 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 ، به پست وبلاگ در مورد آن موضوع مراجعه کنید.