نسخه‌های اخیر «کتابخانه پشتیبانی»

این صفحه جزئیات مربوط به جدیدترین نسخه‌های بسته «کتابخانه پشتیبانی» را ارائه می‌دهد. برای نسخه‌های قبلی، بایگانی ویرایش‌های کتابخانه پشتیبانی را ببینید.

نسخه ۲۸.۰.۰ تولید

(۲۱ سپتامبر ۲۰۱۸)

این نسخه پایدار «کتابخانه پشتیبانی» ۲۸.۰.۰ است و برای استفاده در تولید مناسب است. این آخرین نسخه ویژگی تحت بسته‌بندی android.support خواهد بود و به توسعه‌دهندگان توصیه می‌شود به AndroidX انتقال دهند.

ویژگی‌های جدید

  • ‫AnimatedStateListDrawableCompat انتقال‌های پویانمایی‌شده بین حالت‌های طراحی‌پذیر ارائه می‌دهد.
  • VectorDrawableCompat از گرادیان و ColorStateList پر کردن و خطوط پشتیبانی می‌کند.

بازبینی 28.0.0 RC 2

(۲۷ اوت ۲۰۱۸)

این نامزد انتشار کتابخانه پشتیبانی کامل درنظر گرفته می‌شود و سطح API عمومی آن پایدار است. این نسخهٔ پخش به‌عنوان نسخه پایدار نهایی ارسال خواهد شد، مگر اینکه مشکلات حیاتی‌ای پیش بیاید. این نسخهٔ پخش باید برای استفاده در دسته هدف تولید ایمن باشد. لطفاً مشکلات را به ردیاب مشکل عمومی گزارش کنید.

مشکلات برطرف‌شده

  • ‫Proguard سازنده «برنامه مدل نمایشی» را برمی‌دارد (مشکل عمومی 112230489)
  • وضعیت ثابت `AnimatedStateListDrawableCompat` اصلاح شد
  • وابستگی media2 از mediarouter 1.0.0 برداشته شد
  • وقتی دکمه خانه فشار داده می‌شود، `Fragment.getViewLifecycleOwner()` متوقف نمی‌شود (مشکل عمومی ۱۱۳۰۷۰۴۲۱) ([مشکل عمومی ۱۱۳۰۷۰۴۲۱](https://issuetracker.google.com/issues/113070421))

بازبینی 28.0.0 RC 1

(۶ اوت ۲۰۱۸)

این نامزد انتشار کتابخانه پشتیبانی کامل درنظر گرفته می‌شود و سطح API عمومی آن پایدار است. این نسخهٔ پخش به‌عنوان نسخه پایدار نهایی ارسال خواهد شد، مگر اینکه مشکلات حیاتی‌ای پیش بیاید. این نسخهٔ پخش باید برای استفاده در دسته هدف تولید ایمن باشد. لطفاً مشکلات را به ردیاب مشکل عمومی گزارش کنید.

توجه: برخی‌از کتابخانه‌ها، مانند media2، در مرحله آلفا باقی مانده‌اند زیرا سطوح API آن‌ها هنوز نهایی نشده است. توصیه نمی‌کنیم از کتابخانه‌های آلفا در تولید استفاده کنید. کتابخانه‌ها باید اکیداً از وابستگی به کتابخانه‌های آلفا در تولید اجتناب کنند، زیرا سطوح میانای برنامه‌سازی کاربردی آن‌ها ممکن است به روش‌های ناسازگار با منبع و باینری تغییر کند.

مشکلات برطرف‌شده

  • منو BottomNavigationView در کتابخانه پشتیبانی طراحی به‌درستی مقداردهی اولیه نشده است
  • ‫PositionalDataSource درج موارد پیش‌افزوده در پایگاه داده را به‌درستی مدیریت نمی‌کند
  • لغزنده‌ها ناهموار و غیرواکنش‌گرا هستند
  • ‫`SlicesProviderCompat.getPinnedSpecs()` شناسه‌های کاربر را به نشانی‌های وب اضافه نمی‌کند
  • ‫RoutePlayer2: بازپخش راه دور به بازپخش محلی برنمی‌گردد
  • تجزیه برش حافظه نهان در کنش‌ها ازکار می‌افتد
  • برنامه «جستجوی Google» در پردازاندن «برش» ایستا ازکار افتاد
  • وقتی مجموعه داده‌ها با برداشتن انتخاب تغییر می‌کند، در کتابخانه انتخاب RecyclerView با خطای ConcurrentModificationException مواجه می‌شوید
  • ‫PreferenceThemeOverlay به جدیدترین زمینه Material به‌روزرسانی شده است. اگر طرح زمینه سفارشی ارائه نشود، از PreferenceThemeOverlay به‌عنوان طرح زمینه پیش‌فرض استفاده می‌شود.
  • زمینه‌های PreferenceThemeOverlay.v14 و PreferenceThemeOverlay.v14.Material به‌نفع PreferenceThemeOverlay منسوخ شده‌اند.
  • نمایان بودن PreferenceGroup اکنون به فرزندان آن گره خورده است - پنهان کردن گروه والد همچنین از نمایش فرزندان آن در سلسله مراتب جلوگیری می‌کند. از Preference.isShown()‎ استفاده کنید تا متوجه شوید آیا «ترجیحی» واقعاً در سلسله مراتب به کاربر نمایش داده می‌شود یا نه.
  • ‫Preference.onSetInitialValue(boolean, Object) منسوخ شده است و با onSetInitialValue(Object) جایگزین شده است. ‫PreferenceDataStore اکنون مقادیر پیش‌فرض را نیز به‌درستی بازیابی می‌کند.

بازبینی 28.0.0 نسخه بتا 1

(ژوئیه ۲۰۱۸)

این نسخه بتای «کتابخانه پشتیبانی» ازنظر ویژگی کامل درنظر گرفته می‌شود و سطح API عمومی آن پایدار است، به‌جز مشکلات مهمی که ممکن است پیش بیاید. اگرچه استفاده از این نسخه پخش در محیط تولید ایمن است، اما ممکن است همچنان حاوی اشکال باشد. لطفاً مشکلات را به ردیاب مشکل عمومی گزارش دهید.

مشکلات برطرف‌شده

  • ‫GestureSelectionHelper رویدادهای خوردن در موارد غیرقابل‌انتخاب
  • وقتی مقدار لغزنده به‌روز می‌شود، برش‌های لغزنده می‌توانند نماد انگشت تکراری داشته باشند
  • ‫IconCompat نمادهای TYPE_URI را خراب کرد
  • خرابی با «اولویت‌ها» بااستفاده از «نوار جستجو»
  • ازکارافتادگی در Slice.toString()‎
  • ‫OffsettingListUpdateCallback.onMoved() به‌جای mCallback.onMoved() ،‏ mCallback.onRemoved() را فرا می‌خواند (مسئله ۱۱۰۷۱۱۹۳۷)

بازبینی ۲۷.۱.۱

(آوریل ۲۰۱۸)

مشکلات برطرف‌شده

  • ‫AsyncListDiffer‏ getChangePayload را فراخوانی نمی‌کند (مشکل AOSP‏ ۷۳۹۶۱۸۰۹)
  • ‫ViewModel قطعه onCleared فراخوانی نشد (مشکل AOSP 74139250)
  • ‫RecyclerView.setRecycledViewPool()‎ حتی وقتی آداپتور تهی باشد attachCount را افزایش می‌دهد
  • اگر SmoothScroller.onStop تابع stop() یا startSmoothScroller() را فراخوانی کند، RecyclerView NPE رخ می‌دهد
  • تراکنش «جایگزینی قطعه» باعث می‌شود قطعه قبلی پس‌از نمایش قطعه جدید سوسو بزند (مشکل AOSP 74051124)
  • تغییرات مخرب در پاسخ‌برگ بارکننده در نسخه ۲۷.۱.۰ (مشکل AOSP ۷۴۱۳۵۹۹۸)
  • وقتی ستون نمای شبکه عمودی روی >۱ تنظیم شده باشد، چیدمان راست به چپ کار نمی‌کند
  • ‫onLoadFinished چندین بار در ViewPager با FragmentPagerAdapter فراخوانی شد
  • ‫AsyncListDiffer باید به‌روزرسانی‌ها را پس‌از تنظیم فهرست فعلی ارسال کند (مشکل AOSP 74003309)
  • ‫ShareActionProvider در نسخه ۲۷.۱.۰ استثنای ClassCastException را ایجاد می‌کند
  • تغییر چرخه حیات «تکه» با ViewPager (مشکل AOSP 73976255)

بازبینی 28.0.0 Alpha 1

(مارس ۲۰۱۸)

توجه: نسخه 28.0.0-alpha1 نسخه پیش‌انتشار برای پشتیبانی از پیش‌نمایش توسعه‌دهنده Android P است. سطح API آن ممکن است تغییر کند و لزوماً شامل ویژگی‌ها یا رفع اشکالات از جدیدترین نسخه‌های پایدار «کتابخانه پشتیبانی» نمی‌شود.

تغییرات مهم

  • همان‌طور که قبلاً در اعلامیه Android KTX اشاره کردیم، همچنان درحال اتخاذ پیشوند بسته androidx در کتابخانه‌هایمان هستیم. مجموعه‌ای از کتابخانه‌های کاملاً جدید، ازجمله heifwriter و recyclerview-selection، در این بسته جدید شروع به کار می‌کنند. امیدواریم تفکیک بین android.* و androidx.* مشخص کند که کدام «میاناهای برنامه‌سازی کاربردی» با پلاتفرم دسته‌بندی شده‌اند و کدام کتابخانه‌های ایستا برای توسعه‌دهندگان برنامه هستند که در نسخه‌های مختلف Android کار می‌کنند.
  • بخش‌هایی از support-core-ui،‏ support-core-utils، و support-compat را به کتابخانه‌های کوچک‌تر تقسیم کرده‌ایم. این تغییر به ما کمک می‌کند تا در آینده وابستگی‌های کتابخانه پشتیبانی را ازهم جدا کنیم. اکنون کتابخانه‌های جدید زیر را داریم:
    • asynclayoutinflater (از support-core-ui)
    • مجموعه‌ها (از support-compat)
    • coordinatorlayout (از طراحی)
    • cursoradapter (از support-core-ui)
    • customview (از support-core-ui)
    • documentfile (از support-core-utils)
    • drawerlayout (از support-core-ui)
    • درون‌یاب (از support-core-ui)
    • بارکننده (از support-fragments و core-utils)
    • localbroadcastmanager (از support-core-utils)
    • چاپ (از support-core-utils)
    • slidingpanelayout (از support-core-ui)
    • swiperefreshlayout (از support-core-ui)
    • viewpager (از support-core-ui)

میاناهای برنامه‌سازی کاربردی جدید

  • recyclerview-selection از انتخاب مورد برای RecyclerView پشتیبانی می‌کند. بسته شامل:
    • پشتیبانی از ایجاد، اصلاح، بازرسی، و نظارت بر تغییرات مجموعه‌ای از موارد انتخاب‌شده در فهرست RecyclerView.
    • پشتیبانی از کنش‌های چندانتخابی شهودی:
      • انتخاب با حرکت لمسی به کاربران امکان می‌دهد با یک حرکت لمسی طولانی و کشیدن بصری، محدوده‌هایی از موارد را انتخاب کنند.
      • انتخاب گروهی با موشواره به کاربران امکان می‌دهد بااستفاده از کنش‌های سنتی موشواره‌ای گروه/کمند، بلوکی از موارد را در فهرست RecyclerView انتخاب کنند.
    • پشتیبانی از دستگاه‌های لمسی، ازجمله تلفن و رایانه کیفی لمسی، و همچنین دستگاه‌های اشاره‌محور.
  • «نویسنده HEIF» از نوشتن تصاویر ثابت با قالب HEIF پشتیبانی می‌کند.
  • کتابخانه طراحی
    • موضوع برنامه جدیدی به‌نام Theme.MaterialComponents با مشخصه‌های جدید و سبک‌های به‌روزشده برای عناصر معرفی کرده‌ایم.
    • عناصر زیر را اضافه کرده‌ایم:
      • نوار برنامه پایین صفحه
      • تراشه
      • ChipGroup
      • دکمه Material
      • MaterialCardView
  • برش‌ها چارچوبی برای برنامه‌ها فراهم می‌کند تا محتوای الگوبرداری‌شده از برنامه‌های دیگر را جاسازی کنند.
    • ‫slices-builders شامل روش‌هایی برای ساختن محتوا در قالب الگو است.
    • نمای برش‌ها حاوی روش‌هایی برای ارائه آن محتوا است.
  • کنش‌های مرورگر پروتکلی را برای توسعه‌دهندگان برنامه فراهم می‌کند تا منو زمینه‌ای سازگار (اما قابل‌سفارشی‌سازی) را برای نشانی‌های وب راه‌اندازی کنند. این ویژگی به وجود برنامه مرورگر (مثل Chrome، که این ویژگی هنوز درحال توسعه است) که از کنش‌های مرورگر پشتیبانی می‌کند وابسته است.
  • ContextCompat.getSystemService() و getSystemServiceName() به جستجوی خدمات سیستم براساس نوع در همه سطوح میانای برنامه‌سازی کاربردی اجازه می‌دهند.

رفع اشکال‌ها

  • ‫onCleared در Fragment ViewModel فراخوانی نمی‌شود (مشکل AOSP 74139250)
  • ‫onLoadFinished() در ViewPager با FragmentPagerAdapter چند بار فراخوانی شد (مشکل AOSP 74182171)
  • ‫smoothScrollToPosition() در LinearLayoutManager مربوط به RecyclerView تحت شرایط خاصی حرکت نامنظم (به‌عقب و جلو) نشان می‌دهد (مشکل AOSP 71567765)

انتشار نسخه ۲۷.۱.۰

(فوریه ۲۰۱۸)

تغییرات مهم

  • پیاده‌سازی زیربنایی بارکننده‌ها بازنویسی شده است تا از چرخه حیات استفاده کند. بااینکه API بدون تغییر باقی می‌ماند، تعدادی تغییر در رفتار وجود دارد:
    • ‫initLoader()،‏ restartLoader()، و destroyLoader() اکنون فقط در رشته اصلی قابل‌فراخوانی هستند.
    • onStartLoading() و onStopLoading() «بارکننده» اکنون زمانی فراخوانده می‌شوند که FragmentActivity/Fragment حاوی آن به‌ترتیب شروع و متوقف می‌شود.
    • ‫onLoadFinished() فقط بین onStart() و onStop تماس گرفته می‌شود. درنتیجه، اکنون می‌توان تراکنش‌های Fragment را به‌طور ایمن در onLoadFinished() انجام داد.
    • روش‌های FragmentController مربوط به «بارکننده‌ها» اکنون منسوخ شده‌اند.
  • ‫getDialog() در DialogFragment اکنون تا onDestroyView() غیرتهی خواهد بود، به‌جای اینکه در dismiss() تهی شود. اکنون می‌توانید با بررسی اینکه آیا getDialog().isShowing() مقدار نادرست برمی‌گرداند یا نه، تعیین کنید که آیا «کادر گفتگو» در onStop() به‌صورت دستی بسته شده است یا نه.

میاناهای برنامه‌سازی کاربردی جدید

  • ListAdapter برای RecyclerView (همراه با AsyncListDiffer) محاسبه تفاوت‌های فهرست در رشته پس‌زمینه را آسان‌تر می‌کند. این‌ها می‌توانند به RecyclerView کمک کنند تا تغییرات محتوا را به‌طور خودکار و با حداقل کار در رشته میانای کاربری پویانمایی کند. آن‌ها از DiffUtil در زیر کاپوت استفاده می‌کنند.
  • ‫SortedList.ReplaceAll امکان به‌روزرسانی همه داده‌ها را در SortedList فراهم می‌کند، که همه پویانمایی‌های مناسب را برای درج، برداشتن، تغییر، و انتقال اجرا می‌کند (انتقال‌ها به‌عنوان برداشتن و درج درنظر گرفته می‌شوند).
  • ‫FragmentActivity و Fragment اکنون ViewModelStoreOwner را پیاده‌سازی می‌کنند و اکنون می‌توانند با سازنده‌های ViewModelProvider به‌عنوان جایگزینی برای استفاده از ViewModelProviders.of() استفاده شوند
  • اکنون قطعه‌ها requireContext()،‏ requireActivity()، requireHost()، و requireFragmentManager() روش دارند که شیء NonNull از روش‌های معادل get برمی‌گردانند یا IllegalStateException را پرتاب می‌کنند.
  • ‫requireViewById()، نسخه سازگار @NonNull از findViewById() به WindowCompat، ActivityCompat، و ViewCompat اضافه شده است که وقتی هدف پیدا نمی‌شود IllegalArgumentException را پرتاب می‌کند.
  • LoaderCallbacks روش‌ها اکنون دارای @Nullable و @NonNull گزارمان‌های مناسب هستند.
  • FileProvider اکنون از getExternalMediaDirs() در دستگاه‌های دارای API 21 و بالاتر ازطریق عنصر جدید <external-media-path> پشتیبانی می‌کند.

رفع اشکال‌ها

  • تکه‌کدی که Loader را در onCreate مقداردهی اولیه می‌کند چرخه حیات را در ViewPager خراب کرده است
  • ‫LoaderManager در onLoadFinished استثنای IllegalStateException ایجاد می‌کند
  • ‫LoaderViewModel بارکننده‌های خود را در onCleared پاک نمی‌کند
  • فایل Class برای android.arch.lifecycle.ViewModelStoreOwner پیدا نشد
  • ‫DialogFragment onDismiss بلافاصله پس‌از dismiss() فراخوانی نمی‌شود
  • اموجی پرچم کشور در دستگاه‌های دارای کلیدهای انتشار هنگام استفاده از قلم‌های قابل‌بارگیری کار نمی‌کند
  • کتابخانه اولویت‌ها از مشخصه‌هایی استفاده می‌کند که در نسخه‌های قدیمی Android کار نمی‌کند
  • انواع آرتیفکت testlib در MediaCompat به‌اشتباه مستند شده است (مشکل AOSP 71559905)
  • خرابی Google Sans در TypefaceCompatUtil
  • سازنده ArraySet را که Collection را می‌گیرد آشکار کنید.
  • ‫updateApi فایل‌های ‎ .ignore را که باید حفظ شوند برمی‌دارد
  • ‫MainFragments اضافی در BrowseFragment ایجاد شد
  • برداشتن استفاده از انعکاس از CarRecyclerView
  • java.lang.IllegalStateException at FragmentManagerImpl.checkStateLoss
  • هنگام استفاده از android.support.v4.content.PermissionChecker.checkSelfPermission، java.lang.SecurityException (مستند نشده) دریافت شد
  • ‫RecyclerView IndexOutOfBoundsException (خطای خارج از محدوده شاخص RecyclerView) چون State.mPreviousLayoutItemCount در setAdapter پاک نشده است (مشکل AOSP 37657125)
  • قطعه‌ای که «بارکننده» را در onCreate مقداردهی اولیه می‌کند چرخه حیات را در ViewPager خراب کرده است (مشکل AOSP 34831613)
  • خرابی‌های FragmentManagerImpl.execSingleAction

انتشار نسخه ۲۷.۰.۲

(نوامبر ۲۰۱۷)

رفع اشکال‌ها

  • ‫EmojiEditTextHelper توپ را به NullPointerException پرتاب می‌کند.
  • ‫IllegalStateException: قطعه هنوز پیوست نشده است.
  • با ضربه زدن در هر جایی از صفحه، نمی‌توان پنجره بالاپری نماد «پخش محتوا» را بست.
  • ‫MediaMetadataCompat توپ را به BadParcelableException پرتاب می‌کند.

نسخهٔ پخش 27.0.1

(نوامبر ۲۰۱۷)

رفع اشکال‌ها

  • ‫LifecycleRegistry پس‌از startActivityForResult() فراخوانی در وضعیت اشتباهی قرار دارد. (مسئله ۶۵۶۶۵۶۲۱)
  • رنگ دکمه‌های غیرفعال در سطوح قدیمی‌تر API بسیار روشن است.
  • پس‌از اینکه کاربر پیمایش کرد، نمی‌تواند روی موردی در RecyclerView. کلیک کند. (مشکل AOSP 66996774)
  • در Talkback، کلیک کردن روی گزینه‌های بیشتر باعث نمی‌شود سیستم بالاپر جدید را اعلام کند یا تمرکز را به گزینه‌های جدید اضافه کند.

انتشار نسخه ۲۷.۰.۰

(اکتبر ۲۰۱۷)

تفاوت‌های API

تغییرات میانای برنامه‌سازی کاربردی

  • گزارمان‌های قابلیت تهی بودن به انواع مختلفی از «میاناهای برنامه‌سازی کاربردی» اضافه شده است، ازجمله موارد زیر: این می‌تواند باعث خطاهای کامپایل Kotlin شود وقتی انواع برگشتی تهی‌شدنی به‌درستی مدیریت نمی‌شوند.
  • ‫Fragment می‌تواند از نسخه‌های کتابخانه پشتیبانی Transition برای انتقال‌های قطعه، ازجمله انتقال‌های عنصر مشترک استفاده کند.
  • کتابخانه صفحه‌بندی محتوا (android.support.content.ContentPager) از صفحه‌بندی محتوای نمایان‌شده ازطریق ContentProvider پشتیبانی می‌کند. استفاده از این کتابخانه به مشتری امکان می‌دهد از «تعویض‌های پنجره مکان‌نمای» بین‌پردازشی پرهزینه در رشته واسط کاربر اجتناب کند، و کتابخانه سازگاری برای ویژگی Android 8.0 ارائه دهد.
  • ‫ViewCompat اکنون بسته‌بندی‌هایی برای روش‌های تکمیل خودکار اضافه می‌کند، ازجمله getImportantForAutofill()، isImportantForAutofill()، setAutofillHints()، و setImportantForAutofill().
  • Leanback ویژگی‌های جدید و بهبودهایی دریافت می‌کند و برخی‌از کلاس‌های منسوخ‌شده را ازدست می‌دهد، ازجمله:
    • اکنون Picker می‌تواند از جداکننده‌های مختلف بین هر ستون بااستفاده از روش setSeparators() استفاده کند.
    • ‫ DiffCallback به فهرست مجاز اضافه شد تا ArrayObjectAdapter بتواند از برونداد ارائه‌شده توسط DiffUtil استفاده کند.
    • زیرساخت برای پشتیبانی از پخش‌کننده‌های رسانه با کنترل‌های متغیر اضافه شد، کنترل‌های اختیاری برای جلو بردن سریع، تکرار، درهم کردن، بعدی، قبلی، و عقب بردن اضافه شد.
    • برداشتن MediaControllerGlue،‏ PlaybackControlGlue، PlaybackControlSupportGlue، و PlaybackOverlayFragment.
  • برای آزمایش، ابزار PollingCheck از AOSP CTS انتقال داده می‌شود. این دستور شرایطی را برای وقوع در پنجره زمان‌دار نظرسنجی می‌کند.
  • زیرساخت اضافه‌شده برای پشتیبانی از اجازه‌های زمان اجرا در «برنامه‌های فوری» برای Android 5.0، بااستفاده از PermissionCompatDelegate.
  • اکنون برگه‌های سفارشی مطمئن به‌همراه امکان تعریف رابطه بین برنامه و نشانی وب مبدأ پشتیبانی می‌شود.
  • پشتیبانی از حالت محیطی Android Wear بااستفاده از بخش‌بندی بدون سر AmbientMode ساده‌تر شده است، که همچنین پشتیبانی از حالت محیطی را بااستفاده از «عناصر معماری» سازگار می‌کند.
  • برخی‌از کلاس‌های منسوخ‌شده حذف شدند زیرا از میاناهای برنامه‌سازی کاربردی قدیمی پیش‌از V14 فاصله می‌گیریم، مثل android.support.v7.NotificationCompat (به‌جای آن از v4 NotificationCompat استفاده کنید)، KeyEventCompat، ParallelExecutorCompat، و SearchViewCompat.
  • فراداده‌های ثابت مانیفست Wear منتقل‌شده اکنون ازطریق android.support.wear.utils.MetadataConstants دردسترس است.
  • اکنون پشتیبانی از حالت محیطی برای همه «فعالیت‌ها» دردسترس است، نه فقط WearableActivity. برای اطلاعات بیشتر، به مرجع AmbientMode مراجعه کنید.
  • ‫RoundedDrawable اکنون از تورم XML پشتیبانی می‌کند.

رفع اشکال‌ها

  • برنامه با کتابخانه پشتیبانی ۲۷ و قلم قابل‌بارگیری ازکار می‌افتد
  • قلم‌های قابل‌بارگیری برای پروژه‌های جدیدی که پس‌از به‌روزرسانی کیت توسعه نرم‌افزار ایجاد شده‌اند کار نمی‌کند
  • میانای برنامه‌سازی کاربردی SpeechRecognizer در جدیدترین ارتقا ازکارافتاده است
  • خرابی مربوط به تکه‌کد درحین طراحی پس‌از برداشتن «نمای» پویانمایی‌شده
  • بازپخش رسانه support-leanback-demos همه خراب است
  • «کتابخانه پشتیبانی Android» درحال افزودن <meta-data> به مانیفست است
  • ‫FontResourcesParserCompat باید android: attrs را درک کند
  • ‫Leanback Glue از کلید ورودی «مکث» پشتیبانی نمی‌کند
  • نماد حل‌نشده در IDE وقتی چندین بسته شناسه مصنوعی یکسانی را هم‌رسانی می‌کنند.
  • استثنای اشاره‌گر تهی در CarExtender
  • حالت درهم / تکرار اشتباهی پس‌از ایجاد MediaController برای PlaybackState تنظیم شد
  • پوسترهای پیش‌فرض خوشه کتابخانه هنگام پیمایش به خوشه بعدی منتقل می‌شوند
  • فراداده کارت توصیه بریده شده است
  • ‫IllegalArgumentException در RecyclerView.attachViewToParent()
  • ‫ClassNotFoundException هنگام لغو آماده‌سازی SavedState (مشکل AOSP 37133281)
  • تمرکز در RecyclerView گیر می‌کند
  • رفع خطای ANR در Leanback LayoutManager

انتشار نسخه ۲۶.۱.۰

(سپتامبر ۲۰۱۷)

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

تغییرات مهم

انتشار نسخه ۲۶.۰.۲

(اوت ۲۰۱۷)

رفع اشکال‌ها

  • نمادهای منو در «کتابخانه پشتیبانی» نسخه ۲۶.۰.۰ مسطح شده است
  • ‫GuidedAction.multilineDescription با Leanback به‌درستی کار نمی‌کند

انتشار نسخه ۲۶.۰.۱

(اوت ۲۰۱۷)

رفع اشکال‌ها

  • ‫FontCompat نسخه ۲۶.۰.۰ در دستگاه‌های O-MR1 ازکار می‌افتد
  • «کتابخانه پشتیبانی طراحی» نسخه ۲۶.۰.۰ نباید از پشتیبانی multidex برخوردار باشد (مشکل ۶۳۹۹۹۴۴۲))
  • از نسخه ۲۶.۰.۰، AppBarLayout اکنون ۳۰۰ پیکسل از حاشیه سمت راست دارد
  • ناوبری PlaybackTransportControl کار نمی‌کند
  • ‫Fragment.onCreateView مدتی قبل‌از پایان یافتن onCreate فراخوانی می‌شود
  • android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.media.MediaMetadataCompat

انتشار نسخه ۲۶.۰.۰

(ژوئیه ۲۰۱۷)

مهم: کتابخانه‌های پشتیبانی اکنون ازطریق مخزن Maven در Google دردسترس است. نیازی نیست مخزن پشتیبانی را از «مدیر کیت توسعه نرم‌افزار» بارگیری کنید. برای اطلاعات بیشتر، راه‌اندازی کتابخانه پشتیبانی را ببینید.

تغییرات مهم

  • حداقل نسخه کیت توسعه نرم‌افزار به ۱۴ افزایش یافته است. درنتیجه، بسیاری از میاناهای برنامه‌سازی کاربردی که فقط برای سازگاری با سطوح API قبل‌از ۱۴ وجود داشتند نامناسب شده‌اند. کاربران این میاناهای برنامه‌سازی کاربردی باید به معادل‌های چارچوب خود منتقل شوند، همان‌طور که در صفحه مرجع برای هر میانای برنامه‌سازی کاربردی منسوخ‌شده ذکر شده است.
  • «کتابخانه میانای کاربر Wear» حاوی کلاس‌هایی است که به شما کمک می‌کند الگوها و چیدمان‌هایی را که در دستگاه‌های Wear کار می‌کنند پیاده‌سازی کنید. برای اطلاعات بیشتر، استفاده از «کتابخانه واسط کاربر Wear» را ببینید.
  • ماژول «درصد پشتیبانی» منسوخ شده است. کاربران این واحد باید به ابزارک جدید ConstraintLayout که به‌عنوان یک آرتیفکت جداگانه در «مدیر کیت توسعه نرم‌افزار» ارائه می‌شود انتقال دهند.
  • ‫android.support.v7.app.NotificationCompat و کلاس‌های حاوی آن منسوخ شده است و در نسخهٔ پخش آتی برداشته خواهد شد:
    • به‌جای v7.app.NotificationCompat.Builder از NotificationCompat.Builder استفاده کنید. عملکردی که قبلاً به استفاده از v7 AppCompat Builder متکی بود اکنون در v4 Compat Builder ادغام شده است.
    • ‫DecoratedCustomViewStyle به بسته android.support.v4.app منتقل شده است.
    • MediaStyle و DecoratedMediaCustomViewStyle اکنون بخشی از کتابخانه media-compat هستند و در بسته android.support.v4.media.app یافت می‌شوند.

میاناهای برنامه‌سازی کاربردی جدید

  • پرچم بولی fastScrollEnabled جدید برای RecyclerView. اگر فعال باشد، fastScrollHorizontalThumbDrawable، fastScrollHorizontalTrackDrawable، fastScrollVerticalThumbDrawable، و fastScrollVerticalTrackDrawable باید تنظیم شوند.

تفاوت‌های API

رفع اشکال‌ها

  • حلقه بی‌نهایت در RecyclerView.toString()‎
  • پس‌از ارتقا به Canary 6، خطای ResourceNotFoundException هنگام اجرای پروژه Kotlin در API 16 AVD رخ داد
  • ‫java.lang.AssertionError در نمای طراحی با کتابخانه پشتیبانی نسخه 26.0.0-beta2
  • پیش‌نمایش چیدمان «استودیو Android» برای ابزاره‌های «کتابخانه پشتیبانی» خراب است
  • اگر «اولویت» با مشخصه‌ها ایجاد نشده باشد، Preference.setSingleLineTitle()‎ نادیده گرفته می‌شود
  • گزارمان‌های «از» DAC برای نسخه‌های بازبینی ۲۵.۳.۰ / ۲۵.۴.۰ «کتابخانه پشتیبانی» اشتباه است
  • ‫ResourcesCompat.getFont() استثنا قائل می‌شود
  • عنوان نوارابزار با قلم پررنگ نیست
  • اندازه‌گیری خودکار با maxLines نتایج غیرمنتظره‌ای تولید می‌کند
  • ‫NullPointerException در TextView.checkForRelayout()
  • ‫AppCompatTextViewAutoSizeHelper.setRawTextSize() درطول چیدمان، requestLayout() را فراخوانی می‌کند
  • ‫EmojiAppCompatTextView ازکار می‌افتد
  • وقتی نوشتار تغییر می‌کند، اندازه خودکار TextView به‌طور خودکار تنظیم نمی‌شود
  • خرابی صفحه‌نمایش در Instacart
  • ‫UnsupportedOperationException در MenuItemCompat
  • ‫NotificationCompat کنش‌ها را در API 24 یا بالاتر به‌طور کامل استخراج نمی‌کند
  • مشکلات لنگردهی CoordinatorLayout در به‌روزرسانی‌های چیدمان