На этой странице представлены сведения о последних выпусках пакетов библиотеки поддержки. Более ранние выпуски см. в архиве версий библиотеки поддержки .
Версия 28.0.0 Производство
(21 сентября 2018 г.)
 Это стабильная версия библиотеки поддержки 28.0.0, пригодная для использования в производстве. Это будет последний выпуск функции в пакете android.support , и разработчикам рекомендуется перейти на AndroidX .
Новые возможности
-  
AnimatedStateListDrawableCompatобеспечивает анимированные переходы между состояниями рисования. -  
VectorDrawableCompatполучает поддержку заливок и обводок градиентом иColorStateList. 
Версия 28.0.0 RC 2
(27 августа 2018 г.)
Этот кандидат на выпуск библиотеки поддержки считается полнофункциональным, а его общедоступная поверхность API стабильна. Этот выпуск будет поставляться как окончательная стабильная версия, исключающая любые критические проблемы, которые могут возникнуть. Этот выпуск должен быть безопасным для использования в производстве. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Исправлены проблемы
- Proguard удаляет конструктор приложения модели представления (общедоступная проблема 112230489 )
 - Исправлено постоянное состояние AnimatedStateListDrawableCompat.
 - Удалена зависимость media2 от mediarouter 1.0.0.
 - `Fragment.getViewLifecycleOwner()` не останавливается при нажатии кнопки "домой" (общедоступная проблема 113070421 ) ([публичная проблема 113070421](https://issuetracker.google.com/issues/113070421))
 
Версия 28.0.0 RC 1
(6 августа 2018 г.)
Этот кандидат на выпуск библиотеки поддержки считается полнофункциональным, а его общедоступная поверхность API стабильна. Этот выпуск будет поставляться как окончательная стабильная версия, исключающая любые критические проблемы, которые могут возникнуть. Этот выпуск должен быть безопасным для использования в производстве. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Примечание. Некоторые библиотеки, такие как media2, остаются на стадии альфа-версии, поскольку их интерфейсы API еще не доработаны. Мы не рекомендуем использовать альфа-библиотеки в производстве. Библиотекам следует строго избегать зависимости от альфа-библиотек в производстве, поскольку их поверхности API могут изменяться несовместимо с исходным кодом и двоичным кодом.
Исправлены проблемы
- Меню BottomNavigationView неправильно инициализируется в библиотеке поддержки дизайна.
 - PositionalDataSource неправильно обрабатывает вставки предварительно подготовленных элементов в базу данных.
 - Слайдеры не работают и не реагируют
 - `SlicesProviderCompat.getPinnedSpecs()` не добавляет идентификаторы пользователей в URI.
 - RoutePlayer2: удаленное воспроизведение не переключается обратно на локальное воспроизведение
 - Анализ кэшированного фрагмента завершается сбоем при действиях
 - Сбой приложения Google Search при рендеринге статического фрагмента
 - ConcurrentModificationException в библиотеке выбора RecyclerView, когда набор данных изменился с удалением выделения
 - PreferenceThemeOverlay обновлен до последней темы материала. Если пользовательская тема не указана, PreferenceThemeOverlay используется в качестве темы по умолчанию.
 - Темы PreferenceThemeOverlay.v14 и PreferenceThemeOverlay.v14.Material устарели в пользу PreferenceThemeOverlay.
 - Видимость PreferenceGroup теперь привязана к ее дочерним группам: скрытие родительской группы также не позволит ее дочерним элементам отображаться в иерархии. Используйте Preference.isShown(), чтобы узнать, действительно ли предпочтение отображается пользователю в иерархии.
 - Preference.onSetInitialValue(boolean, Object) устарел и заменен на onSetInitialValue(Object). PreferenceDataStore теперь также корректно восстанавливает значения по умолчанию.
 
Версия 28.0.0 Бета 1
(июль 2018 г.)
Эта бета-версия библиотеки поддержки считается полнофункциональной, а ее общедоступная поверхность API стабильна, исключая любые критические проблемы, которые могут возникнуть. Хотя этот выпуск безопасен для использования в производстве, он все равно может содержать ошибки. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Исправлены проблемы
- GestureSelectionHelper принимает события для невыбираемых элементов
 - Срезы ползунка могут иметь дублирующийся значок большого пальца при обновлении значения ползунка.
 - IconCompat сломал значки TYPE_URI
 - Сбой с настройками при использовании панели поиска
 - Сбой в Slice.toString()
 - OffsettingListUpdateCallback.onMoved() вызывает mCallback.onRemoved() вместо mCallback.onMoved() (ошибка 110711937 ).
 
Версия 27.1.1
(апрель 2018 г.)
Исправлены проблемы
- AsyncListDiffer не вызывает getChangePayload (проблема AOSP 73961809 )
 - OnCleared фрагмента ViewModel не вызывается (проблема AOSP 74139250 )
 - RecyclerView.setRecycledViewPool() увеличивает AttachCount, даже если адаптер имеет значение null
 - RecyclerView NPE, если SmoothScroller.onStop вызывает stop() или startSmoothScroller()
 - Транзакция замены фрагмента приводит к мерцанию предыдущего фрагмента после отображения нового фрагмента (проблема AOSP 74051124 )
 - Критическое изменение обратного вызова загрузчика в версии 27.1.0 (проблема AOSP 74135998 )
 - Макет RTL не работает, если столбец набора вертикальной сетки> 1
 - onLoadFinished вызывается несколько раз в ViewPager с помощью FragmentPagerAdapter
 - AsyncListDiffer должен отправлять обновления после установки текущего списка (проблема AOSP 74003309 ).
 - ShareActionProvider выдает ClassCastException в 27.1.0
 - Изменение жизненного цикла фрагмента с помощью ViewPager (проблема AOSP 73976255 )
 
Версия 28.0.0 Альфа 1
(март 2018 г.)
Примечание. 28.0.0-alpha1 — это предварительная версия, поддерживающая предварительную версию Android P для разработчиков. Интерфейс API может быть изменен, и он не обязательно включает в себя функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важные изменения
-  Как ранее отмечалось в объявлении об Android KTX , мы продолжаем использовать префикс пакета 
androidxв наших библиотеках. В этом новом пакете начинается набор совершенно новых библиотек, включаяheifwriterиrecyclerview-selection. Мы надеемся, что разделение наandroid.*иandroidx.*сделает более очевидным, какие API включены в состав платформы, а какие являются статическими библиотеками для разработчиков приложений, работающих с разными версиями Android. -  Мы разделили части support-core-ui, support-core-utils и support-compat на более мелкие библиотеки. Это изменение поможет нам распутать зависимости библиотек поддержки в будущем. Теперь у нас есть следующие новые библиотеки:
- asynclayoutinflater (из support-core-ui)
 - коллекции (из support-compat)
 - координатор макета (из дизайна)
 - курсорадаптер (из support-core-ui)
 - customview (из support-core-ui)
 - файл документа (из support-core-utils)
 - расположение ящиков (из support-core-ui)
 - интерполятор (из support-core-ui)
 - загрузчик (из фрагментов поддержки и основных утилит)
 - localbroadcastmanager (из support-core-utils)
 - печать (из support-core-utils)
 - скользящая панель (из support-core-ui)
 - swiperefreshlayout (из support-core-ui)
 - viewpager (из support-core-ui)
 
 
Новые API
-  
recyclerview-selectionобеспечивает поддержку выбора элементов дляRecyclerView. Пакет обеспечивает:- Поддержка создания, изменения, проверки и мониторинга изменений набора выбранных элементов в списке RecyclerView.
 -  Поддержка интуитивно понятных действий с множественным выбором:
- Сенсорный выбор позволяет пользователям выбирать диапазоны элементов с помощью интуитивно понятного длительного нажатия и перетаскивания.
 - Выбор полосы с помощью мыши позволяет пользователям выбирать блок элементов в списке RecyclerView, используя традиционные действия с полосой указателя мыши или лассо.
 
 - Поддержка сенсорных устройств, включая форм-факторы телефонов и ноутбуков с сенсорным экраном, а также устройств, ориентированных на указатель.
 
 - HEIF Writer обеспечивает поддержку записи неподвижных изображений в формате HEIF.
 -  Библиотека дизайна
-  Мы представили новую тему приложения 
Theme.MaterialComponentsс новыми атрибутами и обновленными стилями для компонентов. -  Мы добавили следующие компоненты:
- Нижняя панель приложений
 - Чип
 - ЧипГруппа
 - МатериалКнопка
 - МатериалКартаView
 
 
 -  Мы представили новую тему приложения 
 -  Slices предоставляет приложениям платформу для встраивания шаблонного контента из других приложений.
- срезы-построители содержат методы для создания контента в формате шаблона.
 - слайсы-представление содержат методы для представления этого контента.
 
 - Действия браузера предоставляют разработчикам приложений протокол для запуска согласованного (но настраиваемого) контекстного меню для URL-адресов. Эта функция зависит от наличия браузерного приложения (например, Chrome, где эта функция все еще находится в стадии разработки), которое реализует поддержку действий браузера.
 -  
ContextCompat.getSystemService()иgetSystemServiceName()позволяют выполнять поиск системных служб по типу на всех уровнях API. 
Исправления ошибок
- OnCleared фрагмента ViewModel не вызывается (проблема AOSP 74139250 )
 - onLoadFinished() вызывается несколько раз в ViewPager с помощью FragmentPagerAdapter (проблема AOSP 74182171 )
 - Функция SmoothScrollToPosition() LinearLayoutManager RecyclerView отображает беспорядочное движение (вперед и назад) при определенных обстоятельствах (проблема AOSP 71567765 ).
 
Выпуск версии 27.1.0
(февраль 2018 г.)
Важные изменения
-  Базовая реализация Loaders была переписана для использования Lifecycle . Хотя API остался неизменным, есть ряд изменений в поведении:
-  
initLoader(),restartLoader()иdestroyLoader()теперь можно вызывать только в основном потоке. -  
onStartLoading()иonStopLoading()загрузчика теперь вызываются, когда содержащий FragmentActivity/Fragment запускается и останавливается соответственно. -  
onLoadFinished()будет вызываться только междуonStart()иonStop. В результате транзакции Fragment теперь можно безопасно выполнять вonLoadFinished(). - Методы FragmentController, связанные с загрузчиками, теперь устарели.
 
 -  
 -  
getDialog()в DialogFragment теперь будет ненулевым вплоть доonDestroyView(), а не станет нулевым вdismiss(). Теперь вы можете определить, был ли диалог закрыт вручную вonStop()проверив, возвращает лиgetDialog().isShowing()false. 
Новые API
-  
ListAdapterдляRecyclerView(вместе сAsyncListDiffer) упрощает вычисление различий в списках в фоновом потоке. Это может помочь вашему RecyclerView автоматически анимировать изменения содержимого с минимальной работой в потоке пользовательского интерфейса. Они используютDiffUtilпод капотом. -  
SortedList.ReplaceAllпозволяет обновлять все данные в SortedList, который запускает все соответствующие анимации для вставок, удалений, изменений и перемещений (перемещения рассматриваются как удаления и вставки). -  FragmentActivity и Fragment теперь реализуют 
ViewModelStoreOwnerи теперь могут использоваться с конструкторамиViewModelProviderв качестве альтернативы использованиюViewModelProviders.of() -  Фрагменты теперь имеют 
requireContext(),requireActivity(),requireHost()иrequireFragmentManager(), которые возвращают объектNonNullиз эквивалентных методов get или вызывают исключениеIllegalStateException. -  
requireViewById(), версияfindViewById()совместимая с@NonNull, была добавлена вWindowCompat,ActivityCompatиViewCompat, которые выдают исключениеIllegalArgumentException, когда цель не может быть найдена. -  Методы 
LoaderCallbacksтеперь имеют соответствующие аннотации@Nullableи@NonNull. -  
FileProviderтеперь поддерживаетgetExternalMediaDirs()на устройствах API 21 и более поздних версий через новый элемент<external-media-path>. 
Исправления ошибок
- Фрагмент, который инициализирует загрузчик в onCreate, нарушил жизненный цикл внутри ViewPager.
 - LoaderManager выдает исключение IllegalStateException в onLoadFinished
 - LoaderViewModel не очищает свои загрузчики в onCleared
 - Файл класса для android.arch.lifecycle.ViewModelStoreOwner не найден
 - DialogFragment onDismiss не вызывается сразу после увольнения()
 - Эмодзи с флагом страны не работают на устройствах с ключами выпуска при использовании загружаемых шрифтов.
 - Библиотека настроек использует атрибуты, которые не будут работать в старых версиях Android.
 - Типы артефактов testlib MediaCompat неправильно документированы (проблема AOSP 71559905 ).
 - Сбой Google Sans в TypefaceCompatUtil
 - Предоставьте конструктор ArraySet, который принимает Collection.
 - updateApi удаляет файлы .ignore, которые следует сохранить.
 - избыточные MainFragments, созданные в BrowseFragment
 - Удалить использование отражения из CarRecyclerView.
 - java.lang.IllegalStateException в FragmentManagerImpl.checkStateLoss
 - Получил (недокументированное) java.lang.SecurityException при использовании android.support.v4.content.PermissionChecker.checkSelfPermission
 - RecyclerView IndexOutOfBoundsException, поскольку State.mPreviousLayoutItemCount не очищается в setAdapter (проблема AOSP 37657125 )
 - Фрагмент, который инициализирует загрузчик в onCreate, нарушил жизненный цикл внутри ViewPager (проблема AOSP 34831613 )
 - Сбой FragmentManagerImpl.execSingleAction
 
Выпуск версии 27.0.2
(ноябрь 2017 г.)
Исправления ошибок
-  
EmojiEditTextHelperвыдает исключениеNullPointerException. -  
IllegalStateException: фрагмент еще не прикреплен. - Невозможно закрыть всплывающее окно со значком трансляции, нажав в любом месте экрана.
 -  
MediaMetadataCompatвыдает исключениеBadParcelableException. 
Выпуск версии 27.0.1
(ноябрь 2017 г.)
Исправления ошибок
-  LifecycleRegistry находится в неправильном состоянии после вызова 
startActivityForResult(). (Выпуск 65665621 ) - Цвет отключенных кнопок слишком светлый на старых уровнях API.
 -  После прокрутки пользователь не может щелкнуть элемент в 
RecyclerView. (выпуск AOSP 66996774 ) - В Talkback нажатие на дополнительные параметры не приводит к тому, что система объявляет новое всплывающее окно или выделяет новые параметры.
 
Выпуск версии 27.0.0
(октябрь 2017 г.)
Различия API
Изменения API
- Аннотации об отсутствии значений были добавлены к различным API, включая следующие: Это может привести к ошибкам компиляции Kotlin, если типы возвращаемых значений, допускающие значение NULL, не обрабатываются должным образом.
 -  
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. - Теперь поддерживаются доверенные пользовательские вкладки, а также возможность определять связь между приложением и исходным URI.
 - Поддержка окружающего режима Android Wear упрощается за счет использования безголового фрагмента AmbientMode, который также делает поддержку окружающего режима совместимой с использованием компонентов архитектуры.
 
- Команда Wear ищет отзывы разработчиков об этом значительном изменении. Дополнительную информацию см. в примечаниях к выпуску Android Wear .
 
-  Некоторые устаревшие классы удалены по мере того, как мы отходим от старых API-интерфейсов до версии V14, таких как 
android.support.v7.NotificationCompat(вместо этого используйтеNotificationCompatv4),KeyEventCompat,ParallelExecutorCompatиSearchViewCompat. -  Все перенесенные константы метаданных манифеста износа теперь доступны через 
android.support.wear.utils.MetadataConstants. -  Поддержка режима Ambient теперь доступна для всех действий, а не только для WearableActivity. Дополнительные сведения см. в справочнике 
AmbientMode. -  
RoundedDrawableтеперь поддерживает инфляцию XML. 
Исправления ошибок
- Приложение вылетает из-за библиотеки поддержки 27 и загружаемого шрифта.
 - Загружаемые шрифты не работают в новых проектах, созданных после обновления SDK.
 - API SpeechRecouncer API не работает в последнем обновлении
 - Сбой, связанный с фрагментом, во время отрисовки после удаления анимированного представления.
 - поддержка-leanback-демо воспроизведение мультимедиа не работает
 - Библиотека поддержки Android добавляет <метаданные> в манифест
 - FontResourcesParserCompat должен понимать Android: attrs
 - Leanback Glue не поддерживает клавишу ввода паузы
 - Неразрешенный символ в IDE, когда несколько пакетов имеют один и тот же идентификатор артефакта.
 - Исключение нулевого указателя в CarExtender
 - Неправильный режим перемешивания/повтора установлен в PlaybackState после создания MediaController
 - Плакаты по умолчанию кластера библиотеки переходят на следующий кластер во время навигации
 - Метаданные карточки рекомендации обрезаны.
 - IllegalArgumentException в RecyclerView.attachViewToParent()
 - ClassNotFoundException при демаршаллинге SavedState (проблема AOSP 37133281 )
 - Фокус застревает в RecyclerView
 - Исправьте ANR в Leanback LayoutManager.
 
Выпуск версии 26.1.0
(сентябрь 2017 г.)
Это специальный выпуск для интеграции библиотеки поддержки с жизненными циклами компонентов архитектуры . Если вы не используете библиотеку Lifecycles, вам не нужно обновляться с версии 26.0.2. Дополнительные сведения см. в примечаниях к выпуску компонентов архитектуры .
Важные изменения
-  
FragmentиFragmentActivity(базовый класс дляAppCompatActivity) теперь реализуют интерфейсLifecycleOwnerиз Architecture Components . 
Выпуск версии 26.0.2
(август 2017 г.)
Исправления ошибок
- Значки меню в библиотеке поддержки 26.0.0 сведены к минимуму.
 -  
GuidedAction.multilineDescriptionне работает должным образом с Leanback. 
Выпуск версии 26.0.1
(август 2017 г.)
Исправления ошибок
- FontCompat 26.0.0 аварийно завершает работу на устройствах O-MR1
 - Библиотека поддержки дизайна версии 26.0.0 не должна включать поддержку мультидекса (проблема 63999442 ))
 - AppBarLayout теперь имеет 300 пикселей левого заполнения с версии 26.0.0.
 - Навигация PlaybackTransportControl не работает.
 - Fragment.onCreateView вызывается незадолго до завершения onCreate.
 - android.os.BadParcelableException: ClassNotFoundException при демаршаллинге: android.support.v4.media.MediaMetadataCompat
 
Выпуск версии 26.0.0
(июль 2017 г.)
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно загружать репозиторий поддержки из SDK Manager. Дополнительные сведения см. в разделе Настройка библиотеки поддержки .
Важные изменения
- Минимальная версия SDK была увеличена до 14. В результате многие API, существовавшие только для совместимости с уровнями API до 14, были признаны устаревшими. Клиентам этих API следует перейти на эквиваленты их платформы, как указано на справочной странице для каждого устаревшего API.
 - Библиотека пользовательского интерфейса Wear содержит классы, которые помогут вам реализовать шаблоны и макеты, работающие на устройствах Wear. Дополнительные сведения см. в разделе Использование библиотеки пользовательского интерфейса Wear .
 -  Модуль процентной поддержки устарел. Клиентам этого модуля следует перейти на новый виджет 
ConstraintLayout, который предоставляется как отдельный артефакт в SDK Manager. -  
android.support.v7.app.NotificationCompatи содержащиеся в нем классы устарели и будут удалены в будущем выпуске:-  Используйте 
NotificationCompat.Builderвместоv7.app.NotificationCompat.Builder. Функциональность, которая раньше основывалась на использовании AppCompat Builder версии 7, теперь включена в Compat Builder версии 4. -  
DecoratedCustomViewStyleперемещен в пакетandroid.support.v4.app. -  
MediaStyleиDecoratedMediaCustomViewStyleтеперь являются частью библиотеки медиа-совместимости и их можно найти в пакете android.support.v4.media.app . 
 -  Используйте 
 
Новые API
-  Новый логический флаг 
fastScrollEnabledдляRecyclerView. Если этот параметр включен, необходимо установитьfastScrollHorizontalThumbDrawable,fastScrollHorizontalTrackDrawable,fastScrollVerticalThumbDrawableиfastScrollVerticalTrackDrawable. 
Различия API
Исправления ошибок
- Бесконечный цикл в RecyclerView.toString()
 - ResourceNotFoundException запускает проект Kotlin на API 16 AVD после обновления до Canary 6
 - java.lang.AssertionError в режиме дизайна с библиотекой поддержки 26.0.0-beta2
 - Предварительный просмотр макета Android Studio не работает для виджетов библиотеки поддержки
 - Preference.setSingleLineTitle() игнорируется, если предпочтение не было создано с атрибутами.
 - Аннотации DAC "Since" неверны для версий 25.3.0/25.4.0 библиотеки поддержки.
 - ResourcesCompat.getFont() выдает исключение
 - Название панели инструментов не выделено жирным шрифтом
 - Автоматическое определение размера с помощью maxLines дает неожиданные результаты
 - NullPointerException в TextView.checkForRelayout()
 - AppCompatTextViewAutoSizeHelper.setRawTextSize() вызывает requestLayout() во время макета
 - Сбой EmojiAppCompatTextView
 - Autosize TextView не регулируется автоматически при изменении текста
 - Повреждение экрана в Instacart
 - Исключение UnsupportedOperationException в MenuItemCompat
 - NotificationCompat не полностью извлекает действия в API 24 или выше.
 - Проблемы привязки координатораLayout при обновлениях макета
 
На этой странице представлены сведения о последних выпусках пакетов библиотеки поддержки. Более ранние выпуски см. в архиве версий библиотеки поддержки .
Версия 28.0.0 Производство
(21 сентября 2018 г.)
 Это стабильная версия библиотеки поддержки 28.0.0, пригодная для использования в производстве. Это будет последний выпуск функции в пакете android.support , и разработчикам рекомендуется перейти на AndroidX .
Новые возможности
-  
AnimatedStateListDrawableCompatобеспечивает анимированные переходы между состояниями рисования. -  
VectorDrawableCompatполучает поддержку заливок и обводок градиентом иColorStateList. 
Версия 28.0.0 RC 2
(27 августа 2018 г.)
Этот кандидат на выпуск библиотеки поддержки считается полнофункциональным, а его общедоступная поверхность API стабильна. Этот выпуск будет поставляться как окончательная стабильная версия, исключающая любые критические проблемы, которые могут возникнуть. Этот выпуск должен быть безопасным для использования в производстве. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Исправлены проблемы
- Proguard удаляет конструктор приложения модели представления (общедоступная проблема 112230489 )
 - Исправлено постоянное состояние AnimatedStateListDrawableCompat.
 - Удалена зависимость media2 от mediarouter 1.0.0.
 - `Fragment.getViewLifecycleOwner()` не останавливается при нажатии кнопки "домой" (общедоступная проблема 113070421 ) ([публичная проблема 113070421](https://issuetracker.google.com/issues/113070421))
 
Версия 28.0.0 RC 1
(6 августа 2018 г.)
Этот кандидат на выпуск библиотеки поддержки считается полнофункциональным, а его общедоступная поверхность API стабильна. Этот выпуск будет поставляться как окончательная стабильная версия, исключающая любые критические проблемы, которые могут возникнуть. Этот выпуск должен быть безопасным для использования в производстве. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Примечание. Некоторые библиотеки, такие как media2, остаются на стадии альфа-версии, поскольку их интерфейсы API еще не доработаны. Мы не рекомендуем использовать альфа-библиотеки в производстве. Библиотекам следует строго избегать зависимости от альфа-библиотек в производстве, поскольку их поверхности API могут изменяться несовместимо с исходным кодом и двоичным кодом.
Исправлены проблемы
- Меню BottomNavigationView неправильно инициализируется в библиотеке поддержки дизайна.
 - PositionalDataSource неправильно обрабатывает вставки предварительно подготовленных элементов в базу данных.
 - Слайдеры не работают и не реагируют
 - `SlicesProviderCompat.getPinnedSpecs()` не добавляет идентификаторы пользователей в URI.
 - RoutePlayer2: удаленное воспроизведение не переключается обратно на локальное воспроизведение
 - Анализ кэшированного фрагмента завершается сбоем при действиях
 - Сбой приложения Google Search при рендеринге статического фрагмента
 - ConcurrentModificationException в библиотеке выбора RecyclerView, когда набор данных изменился с удалением выделения
 - PreferenceThemeOverlay обновлен до последней темы материала. Если пользовательская тема не указана, PreferenceThemeOverlay используется в качестве темы по умолчанию.
 - Темы PreferenceThemeOverlay.v14 и PreferenceThemeOverlay.v14.Material устарели в пользу PreferenceThemeOverlay.
 - Видимость PreferenceGroup теперь привязана к ее дочерним группам: скрытие родительской группы также не позволит ее дочерним элементам отображаться в иерархии. Используйте Preference.isShown(), чтобы узнать, действительно ли предпочтение отображается пользователю в иерархии.
 - Preference.onSetInitialValue(boolean, Object) устарел и заменен на onSetInitialValue(Object). PreferenceDataStore теперь также корректно восстанавливает значения по умолчанию.
 
Версия 28.0.0 Бета 1
(июль 2018 г.)
Эта бета-версия библиотеки поддержки считается полнофункциональной, а ее общедоступная поверхность API стабильна, исключая любые критические проблемы, которые могут возникнуть. Хотя этот выпуск безопасен для использования в производстве, он все равно может содержать ошибки. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Исправлены проблемы
- GestureSelectionHelper принимает события для невыбираемых элементов
 - Срезы ползунка могут иметь дублирующийся значок большого пальца при обновлении значения ползунка.
 - IconCompat сломал значки TYPE_URI
 - Сбой с настройками при использовании панели поиска
 - Сбой в Slice.toString()
 - OffsettingListUpdateCallback.onMoved() вызывает mCallback.onRemoved() вместо mCallback.onMoved() (ошибка 110711937 ).
 
Версия 27.1.1
(апрель 2018 г.)
Исправлены проблемы
- AsyncListDiffer не вызывает getChangePayload (проблема AOSP 73961809 )
 - OnCleared фрагмента ViewModel не вызывается (проблема AOSP 74139250 )
 - RecyclerView.setRecycledViewPool() увеличивает AttachCount, даже если адаптер имеет значение null
 - RecyclerView NPE, если SmoothScroller.onStop вызывает stop() или startSmoothScroller()
 - Транзакция замены фрагмента приводит к мерцанию предыдущего фрагмента после отображения нового фрагмента (проблема AOSP 74051124 )
 - Критическое изменение обратного вызова загрузчика в версии 27.1.0 (проблема AOSP 74135998 )
 - Макет RTL не работает, если столбец набора вертикальной сетки> 1
 - onLoadFinished вызывается несколько раз в ViewPager с помощью FragmentPagerAdapter
 - AsyncListDiffer должен отправлять обновления после установки текущего списка (проблема AOSP 74003309 ).
 - ShareActionProvider выдает ClassCastException в 27.1.0
 - Изменение жизненного цикла фрагмента с помощью ViewPager (проблема AOSP 73976255 )
 
Версия 28.0.0 Альфа 1
(март 2018 г.)
Примечание. 28.0.0-alpha1 — это предварительная версия, поддерживающая предварительную версию Android P для разработчиков. Интерфейс API может быть изменен, и он не обязательно включает в себя функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важные изменения
-  Как ранее отмечалось в объявлении об Android KTX , мы продолжаем использовать префикс пакета 
androidxв наших библиотеках. В этом новом пакете начинается набор совершенно новых библиотек, включаяheifwriterиrecyclerview-selection. Мы надеемся, что разделение наandroid.*иandroidx.*сделает более очевидным, какие API включены в состав платформы, а какие являются статическими библиотеками для разработчиков приложений, работающих с разными версиями Android. -  Мы разделили части support-core-ui, support-core-utils и support-compat на более мелкие библиотеки. Это изменение поможет нам распутать зависимости библиотек поддержки в будущем. Теперь у нас есть следующие новые библиотеки:
- asynclayoutinflater (из support-core-ui)
 - коллекции (из support-compat)
 - координатор макета (из дизайна)
 - курсорадаптер (из support-core-ui)
 - customview (из support-core-ui)
 - файл документа (из support-core-utils)
 - расположение ящиков (из support-core-ui)
 - интерполятор (из support-core-ui)
 - загрузчик (из фрагментов поддержки и основных утилит)
 - localbroadcastmanager (из support-core-utils)
 - печать (из support-core-utils)
 - скользящая панель (из support-core-ui)
 - swiperefreshlayout (из support-core-ui)
 - viewpager (из support-core-ui)
 
 
Новые API
-  
recyclerview-selectionобеспечивает поддержку выбора элементов дляRecyclerView. Пакет обеспечивает:- Поддержка создания, изменения, проверки и мониторинга изменений набора выбранных элементов в списке RecyclerView.
 -  Поддержка интуитивно понятных действий с множественным выбором:
- Сенсорный выбор позволяет пользователям выбирать диапазоны элементов с помощью интуитивно понятного длительного нажатия и перетаскивания.
 - Выбор полосы с помощью мыши позволяет пользователям выбирать блок элементов в списке RecyclerView, используя традиционные действия с полосой указателя мыши или лассо.
 
 - Поддержка сенсорных устройств, включая форм-факторы телефонов и ноутбуков с сенсорным экраном, а также устройств, ориентированных на указатель.
 
 - HEIF Writer обеспечивает поддержку записи неподвижных изображений в формате HEIF.
 -  Библиотека дизайна
-  Мы представили новую тему приложения 
Theme.MaterialComponentsс новыми атрибутами и обновленными стилями для компонентов. -  Мы добавили следующие компоненты:
- Нижняя панель приложений
 - Чип
 - ЧипГруппа
 - МатериалКнопка
 - МатериалКартаView
 
 
 -  Мы представили новую тему приложения 
 -  Slices предоставляет приложениям платформу для встраивания шаблонного контента из других приложений.
- срезы-построители содержат методы для создания контента в формате шаблона.
 - слайсы-представление содержат методы для представления этого контента.
 
 - Действия браузера предоставляют разработчикам приложений протокол для запуска согласованного (но настраиваемого) контекстного меню для URL-адресов. Эта функция зависит от наличия браузерного приложения (например, Chrome, где эта функция все еще находится в стадии разработки), которое реализует поддержку действий браузера.
 -  
ContextCompat.getSystemService()иgetSystemServiceName()позволяют выполнять поиск системных служб по типу на всех уровнях API. 
Исправления ошибок
- OnCleared фрагмента ViewModel не вызывается (проблема AOSP 74139250 )
 - onLoadFinished() вызывается несколько раз в ViewPager с помощью FragmentPagerAdapter (проблема AOSP 74182171 )
 - Функция SmoothScrollToPosition() LinearLayoutManager RecyclerView отображает беспорядочное движение (вперед и назад) при определенных обстоятельствах (проблема AOSP 71567765 ).
 
Выпуск версии 27.1.0
(февраль 2018 г.)
Важные изменения
-  Базовая реализация Loaders была переписана для использования Lifecycle . Хотя API остался неизменным, есть ряд изменений в поведении:
-  
initLoader(),restartLoader()иdestroyLoader()теперь можно вызывать только в основном потоке. -  
onStartLoading()иonStopLoading()загрузчика теперь вызываются, когда содержащий FragmentActivity/Fragment запускается и останавливается соответственно. -  
onLoadFinished()будет вызываться только междуonStart()иonStop. В результате транзакции Fragment теперь можно безопасно выполнять вonLoadFinished(). - Методы FragmentController, связанные с загрузчиками, теперь устарели.
 
 -  
 -  
getDialog()в DialogFragment теперь будет ненулевым вплоть доonDestroyView(), а не станет нулевым вdismiss(). Теперь вы можете определить, был ли диалог закрыт вручную вonStop()проверив, возвращает лиgetDialog().isShowing()false. 
Новые API
-  
ListAdapterдляRecyclerView(вместе сAsyncListDiffer) упрощает вычисление различий в списках в фоновом потоке. Это может помочь вашему RecyclerView автоматически анимировать изменения содержимого с минимальной работой в потоке пользовательского интерфейса. Они используютDiffUtilпод капотом. -  
SortedList.ReplaceAllпозволяет обновлять все данные в SortedList, который запускает все соответствующие анимации для вставок, удалений, изменений и перемещений (перемещения рассматриваются как удаления и вставки). -  FragmentActivity и Fragment теперь реализуют 
ViewModelStoreOwnerи теперь могут использоваться с конструкторамиViewModelProviderв качестве альтернативы использованиюViewModelProviders.of() -  Фрагменты теперь имеют 
requireContext(),requireActivity(),requireHost()иrequireFragmentManager(), которые возвращают объектNonNullиз эквивалентных методов get или вызывают исключениеIllegalStateException. -  
requireViewById(), версияfindViewById()совместимая с@NonNull, была добавлена вWindowCompat,ActivityCompatиViewCompat, которые выдают исключениеIllegalArgumentException, когда цель не может быть найдена. -  Методы 
LoaderCallbacksтеперь имеют соответствующие аннотации@Nullableи@NonNull. -  
FileProviderтеперь поддерживаетgetExternalMediaDirs()на устройствах API 21 и более поздних версий через новый элемент<external-media-path>. 
Исправления ошибок
- Фрагмент, который инициализирует загрузчик в onCreate, нарушил жизненный цикл внутри ViewPager.
 - LoaderManager выдает исключение IllegalStateException в onLoadFinished
 - LoaderViewModel не очищает свои загрузчики в onCleared
 - Файл класса для android.arch.lifecycle.ViewModelStoreOwner не найден
 - DialogFragment onDismiss не вызывается сразу после увольнения()
 - Эмодзи с флагом страны не работают на устройствах с ключами выпуска при использовании загружаемых шрифтов.
 - Библиотека настроек использует атрибуты, которые не будут работать в старых версиях Android.
 - Типы артефактов testlib MediaCompat неправильно документированы (проблема AOSP 71559905 ).
 - Сбой Google Sans в TypefaceCompatUtil
 - Предоставьте конструктор ArraySet, который принимает Collection.
 - updateApi удаляет файлы .ignore, которые следует сохранить.
 - избыточные MainFragments, созданные в BrowseFragment
 - Удалить использование отражения из CarRecyclerView.
 - java.lang.IllegalStateException в FragmentManagerImpl.checkStateLoss
 - Получил (недокументированное) java.lang.SecurityException при использовании android.support.v4.content.PermissionChecker.checkSelfPermission
 - RecyclerView IndexOutOfBoundsException, поскольку State.mPreviousLayoutItemCount не очищается в setAdapter (проблема AOSP 37657125 )
 - Фрагмент, который инициализирует загрузчик в onCreate, нарушил жизненный цикл внутри ViewPager (проблема AOSP 34831613 )
 - Сбой FragmentManagerImpl.execSingleAction
 
Выпуск версии 27.0.2
(ноябрь 2017 г.)
Исправления ошибок
-  
EmojiEditTextHelperвыдает исключениеNullPointerException. -  
IllegalStateException: фрагмент еще не прикреплен. - Невозможно закрыть всплывающее окно со значком трансляции, нажав в любом месте экрана.
 -  
MediaMetadataCompatвыдает исключениеBadParcelableException. 
Выпуск версии 27.0.1
(ноябрь 2017 г.)
Исправления ошибок
-  LifecycleRegistry находится в неправильном состоянии после вызова 
startActivityForResult(). (Выпуск 65665621 ) - Цвет отключенных кнопок слишком светлый на старых уровнях API.
 -  После прокрутки пользователь не может щелкнуть элемент в 
RecyclerView. (выпуск AOSP 66996774 ) - В Talkback нажатие на дополнительные параметры не приводит к тому, что система объявляет новое всплывающее окно или выделяет новые параметры.
 
Выпуск версии 27.0.0
(октябрь 2017 г.)
Различия API
Изменения API
- Аннотации об отсутствии значений были добавлены к различным API, включая следующие: Это может привести к ошибкам компиляции Kotlin, если типы возвращаемых значений, допускающие значение NULL, не обрабатываются должным образом.
 -  
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. - Теперь поддерживаются доверенные пользовательские вкладки, а также возможность определять связь между приложением и исходным URI.
 - Поддержка окружающего режима Android Wear упрощается за счет использования безголового фрагмента AmbientMode, который также делает поддержку окружающего режима совместимой с использованием компонентов архитектуры.
 
- Команда Wear ищет отзывы разработчиков об этом значительном изменении. Дополнительную информацию см. в примечаниях к выпуску Android Wear .
 
-  Некоторые устаревшие классы удалены по мере того, как мы отходим от старых API-интерфейсов до версии V14, таких как 
android.support.v7.NotificationCompat(вместо этого используйтеNotificationCompatv4),KeyEventCompat,ParallelExecutorCompatиSearchViewCompat. -  Все перенесенные константы метаданных манифеста износа теперь доступны через 
android.support.wear.utils.MetadataConstants. -  Поддержка режима Ambient теперь доступна для всех действий, а не только для WearableActivity. Дополнительные сведения см. в справочнике 
AmbientMode. -  
RoundedDrawableтеперь поддерживает инфляцию XML. 
Исправления ошибок
- Приложение вылетает из-за библиотеки поддержки 27 и загружаемого шрифта.
 - Загружаемые шрифты не работают в новых проектах, созданных после обновления SDK.
 - API SpeechRecouncer API не работает в последнем обновлении
 - Сбой, связанный с фрагментом, во время отрисовки после удаления анимированного представления.
 - поддержка-leanback-демо воспроизведение мультимедиа не работает
 - Библиотека поддержки Android добавляет <метаданные> в манифест
 - FontResourcesParserCompat должен понимать Android: attrs
 - Leanback Glue не поддерживает клавишу ввода паузы
 - Неразрешенный символ в IDE, когда несколько пакетов имеют один и тот же идентификатор артефакта.
 - Исключение нулевого указателя в CarExtender
 - Неправильный режим перемешивания/повтора установлен в PlaybackState после создания MediaController
 - Плакаты по умолчанию кластера библиотеки переходят на следующий кластер во время навигации
 - Метаданные карточки рекомендации обрезаны.
 - IllegalArgumentException в RecyclerView.attachViewToParent()
 - ClassNotFoundException при демаршаллинге SavedState (проблема AOSP 37133281 )
 - Фокус застревает в RecyclerView
 - Исправьте ANR в Leanback LayoutManager.
 
Выпуск версии 26.1.0
(сентябрь 2017 г.)
Это специальный выпуск для интеграции библиотеки поддержки с жизненными циклами компонентов архитектуры . Если вы не используете библиотеку Lifecycles, вам не нужно обновляться с версии 26.0.2. Дополнительные сведения см. в примечаниях к выпуску компонентов архитектуры .
Важные изменения
-  
FragmentиFragmentActivity(базовый класс дляAppCompatActivity) теперь реализуют интерфейсLifecycleOwnerиз Architecture Components . 
Выпуск версии 26.0.2
(август 2017 г.)
Исправления ошибок
- Значки меню в библиотеке поддержки 26.0.0 сведены к минимуму.
 -  
GuidedAction.multilineDescriptionне работает должным образом с Leanback. 
Выпуск версии 26.0.1
(август 2017 г.)
Исправления ошибок
- FontCompat 26.0.0 аварийно завершает работу на устройствах O-MR1
 - Библиотека поддержки дизайна версии 26.0.0 не должна включать поддержку мультидекса (проблема 63999442 ))
 - AppBarLayout теперь имеет 300 пикселей левого заполнения с версии 26.0.0.
 - Навигация PlaybackTransportControl не работает.
 - Fragment.onCreateView вызывается незадолго до завершения onCreate.
 - android.os.BadParcelableException: ClassNotFoundException при демаршаллинге: android.support.v4.media.MediaMetadataCompat
 
Выпуск версии 26.0.0
(июль 2017 г.)
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно загружать репозиторий поддержки из SDK Manager. Дополнительные сведения см. в разделе Настройка библиотеки поддержки .
Важные изменения
- Минимальная версия SDK была увеличена до 14. В результате многие API, существовавшие только для совместимости с уровнями API до 14, были признаны устаревшими. Клиентам этих API следует перейти на эквиваленты их платформы, как указано на справочной странице для каждого устаревшего API.
 - Библиотека пользовательского интерфейса Wear содержит классы, которые помогут вам реализовать шаблоны и макеты, работающие на устройствах Wear. Дополнительные сведения см. в разделе Использование библиотеки пользовательского интерфейса Wear .
 -  Модуль процентной поддержки устарел. Клиентам этого модуля следует перейти на новый виджет 
ConstraintLayout, который предоставляется как отдельный артефакт в SDK Manager. -  
android.support.v7.app.NotificationCompatи содержащиеся в нем классы устарели и будут удалены в будущем выпуске:-  Используйте 
NotificationCompat.Builderвместоv7.app.NotificationCompat.Builder. Функциональность, которая раньше основывалась на использовании AppCompat Builder версии 7, теперь включена в Compat Builder версии 4. -  
DecoratedCustomViewStyleперемещен в пакетandroid.support.v4.app. -  
MediaStyleиDecoratedMediaCustomViewStyleтеперь являются частью библиотеки медиа-совместимости и их можно найти в пакете android.support.v4.media.app . 
 -  Используйте 
 
Новые API
-  Новый логический флаг 
fastScrollEnabledдляRecyclerView. Если этот параметр включен, необходимо установитьfastScrollHorizontalThumbDrawable,fastScrollHorizontalTrackDrawable,fastScrollVerticalThumbDrawableиfastScrollVerticalTrackDrawable. 
Различия API
Исправления ошибок
- Бесконечный цикл в RecyclerView.toString()
 - ResourceNotFoundException запускает проект Kotlin на API 16 AVD после обновления до Canary 6
 - java.lang.AssertionError в режиме дизайна с библиотекой поддержки 26.0.0-beta2
 - Предварительный просмотр макета Android Studio не работает для виджетов библиотеки поддержки
 - Preference.setSingleLineTitle() игнорируется, если предпочтение не было создано с атрибутами.
 - Аннотации DAC "Since" неверны для версий 25.3.0/25.4.0 библиотеки поддержки.
 - ResourcesCompat.getFont() выдает исключение
 - Название панели инструментов не выделено жирным шрифтом
 - Автоматическое определение размера с помощью maxLines дает неожиданные результаты
 - NullPointerException в TextView.checkForRelayout()
 - AppCompatTextViewAutoSizeHelper.setRawTextSize() вызывает requestLayout() во время макета
 - Сбой EmojiAppCompatTextView
 - Autosize TextView не регулируется автоматически при изменении текста
 - Повреждение экрана в Instacart
 - Исключение UnsupportedOperationException в MenuItemCompat
 - NotificationCompat не полностью извлекает действия в API 24 или выше.
 - Проблемы привязки координатораLayout при обновлениях макета
 
На этой странице представлены сведения о последних выпусках пакетов библиотеки поддержки. Более ранние выпуски см. в архиве версий библиотеки поддержки .
Версия 28.0.0 Производство
(21 сентября 2018 г.)
 Это стабильная версия библиотеки поддержки 28.0.0, пригодная для использования в производстве. Это будет последний выпуск функции в пакете android.support , и разработчикам рекомендуется перейти на AndroidX .
Новые возможности
-  
AnimatedStateListDrawableCompatобеспечивает анимированные переходы между состояниями рисования. -  
VectorDrawableCompatполучает поддержку заливок и обводок градиентом иColorStateList. 
Версия 28.0.0 RC 2
(27 августа 2018 г.)
Этот кандидат на выпуск библиотеки поддержки считается полнофункциональным, а его общедоступная поверхность API стабильна. Этот выпуск будет поставляться как окончательная стабильная версия, исключающая любые критические проблемы, которые могут возникнуть. Этот выпуск должен быть безопасным для использования в производстве. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Исправлены проблемы
- Proguard удаляет конструктор приложения модели представления (общедоступная проблема 112230489 )
 - Исправлено постоянное состояние AnimatedStateListDrawableCompat.
 - Удалена зависимость media2 от mediarouter 1.0.0.
 - `Fragment.getViewLifecycleOwner()` не останавливается при нажатии кнопки "домой" (общедоступная проблема 113070421 ) ([публичная проблема 113070421](https://issuetracker.google.com/issues/113070421))
 
Версия 28.0.0 RC 1
(6 августа 2018 г.)
Этот кандидат на выпуск библиотеки поддержки считается полнофункциональным, а его общедоступная поверхность API стабильна. Этот выпуск будет поставляться как окончательная стабильная версия, исключающая любые критические проблемы, которые могут возникнуть. Этот выпуск должен быть безопасным для использования в производстве. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Примечание. Некоторые библиотеки, такие как media2, остаются на стадии альфа-версии, поскольку их интерфейсы API еще не доработаны. Мы не рекомендуем использовать альфа-библиотеки в производстве. Библиотекам следует строго избегать зависимости от альфа-библиотек в производстве, поскольку их поверхности API могут изменяться несовместимо с исходным кодом и двоичным кодом.
Исправлены проблемы
- Меню BottomNavigationView неправильно инициализируется в библиотеке поддержки дизайна.
 - PositionalDataSource неправильно обрабатывает вставки предварительно подготовленных элементов в базу данных.
 - Слайдеры не работают и не реагируют
 - `SlicesProviderCompat.getPinnedSpecs()` не добавляет идентификаторы пользователей в URI.
 - RoutePlayer2: удаленное воспроизведение не переключается обратно на локальное воспроизведение
 - Анализ кэшированного фрагмента завершается сбоем при действиях
 - Сбой приложения Google Search при рендеринге статического фрагмента
 - ConcurrentModificationException в библиотеке выбора RecyclerView, когда набор данных изменился с удалением выделения
 - PreferenceThemeOverlay обновлен до последней темы материала. Если пользовательская тема не указана, PreferenceThemeOverlay используется в качестве темы по умолчанию.
 - Темы PreferenceThemeOverlay.v14 и PreferenceThemeOverlay.v14.Material устарели в пользу PreferenceThemeOverlay.
 - Видимость PreferenceGroup теперь привязана к ее дочерним группам: скрытие родительской группы также не позволит ее дочерним элементам отображаться в иерархии. Используйте Preference.isShown(), чтобы узнать, действительно ли предпочтение отображается пользователю в иерархии.
 - Preference.onSetInitialValue(boolean, Object) устарел и заменен на onSetInitialValue(Object). PreferenceDataStore теперь также корректно восстанавливает значения по умолчанию.
 
Версия 28.0.0 Бета 1
(июль 2018 г.)
Эта бета-версия библиотеки поддержки считается полнофункциональной, а ее общедоступная поверхность API стабильна, исключая любые критические проблемы, которые могут возникнуть. Хотя этот выпуск безопасен для использования в производстве, он все равно может содержать ошибки. Пожалуйста, сообщайте о любых проблемах в общедоступную систему отслеживания проблем .
Исправлены проблемы
- GestureSelectionHelper принимает события для невыбираемых элементов
 - Срезы ползунка могут иметь дублирующийся значок большого пальца при обновлении значения ползунка.
 - IconCompat сломал значки TYPE_URI
 - Сбой с настройками при использовании панели поиска
 - Сбой в Slice.toString()
 - OffsettingListUpdateCallback.onMoved() вызывает mCallback.onRemoved() вместо mCallback.onMoved() (ошибка 110711937 ).
 
Версия 27.1.1
(апрель 2018 г.)
Исправлены проблемы
- AsyncListDiffer не вызывает getChangePayload (проблема AOSP 73961809 )
 - OnCleared фрагмента ViewModel не вызывается (проблема AOSP 74139250 )
 - RecyclerView.setRecycledViewPool() увеличивает AttachCount, даже если адаптер имеет значение null
 - RecyclerView NPE, если SmoothScroller.onStop вызывает stop() или startSmoothScroller()
 - Транзакция замены фрагмента приводит к мерцанию предыдущего фрагмента после отображения нового фрагмента (проблема AOSP 74051124 )
 - Критическое изменение обратного вызова загрузчика в версии 27.1.0 (проблема AOSP 74135998 )
 - Макет RTL не работает, если столбец набора вертикальной сетки> 1
 - onLoadFinished вызывается несколько раз в ViewPager с помощью FragmentPagerAdapter
 - AsyncListDiffer должен отправлять обновления после установки текущего списка (проблема AOSP 74003309 ).
 - ShareActionProvider выдает ClassCastException в 27.1.0
 - Изменение жизненного цикла фрагмента с помощью ViewPager (проблема AOSP 73976255 )
 
Версия 28.0.0 Альфа 1
(март 2018 г.)
Примечание. 28.0.0-alpha1 — это предварительная версия, поддерживающая предварительную версию Android P для разработчиков. Интерфейс API может быть изменен, и он не обязательно включает в себя функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важные изменения
-  Как ранее отмечалось в объявлении об Android KTX , мы продолжаем использовать префикс пакета 
androidxв наших библиотеках. В этом новом пакете начинается набор совершенно новых библиотек, включаяheifwriterиrecyclerview-selection. Мы надеемся, что разделение наandroid.*иandroidx.*сделает более очевидным, какие API включены в состав платформы, а какие являются статическими библиотеками для разработчиков приложений, работающих с разными версиями Android. -  Мы разделили части support-core-ui, support-core-utils и support-compat на более мелкие библиотеки. Это изменение поможет нам распутать зависимости библиотек поддержки в будущем. Теперь у нас есть следующие новые библиотеки:
- asynclayoutinflater (из support-core-ui)
 - коллекции (из support-compat)
 - координатор макета (из дизайна)
 - курсорадаптер (из support-core-ui)
 - customview (из support-core-ui)
 - файл документа (из support-core-utils)
 - расположение ящиков (из support-core-ui)
 - интерполятор (из support-core-ui)
 - загрузчик (из фрагментов поддержки и основных утилит)
 - localbroadcastmanager (из support-core-utils)
 - печать (из support-core-utils)
 - скользящая панель (из support-core-ui)
 - swiperefreshlayout (из support-core-ui)
 - viewpager (из support-core-ui)
 
 
Новые API
-  
recyclerview-selectionобеспечивает поддержку выбора элементов дляRecyclerView. Пакет обеспечивает:- Поддержка создания, изменения, проверки и мониторинга изменений набора выбранных элементов в списке RecyclerView.
 -  Поддержка интуитивно понятных действий с множественным выбором:
- Сенсорный выбор позволяет пользователям выбирать диапазоны элементов с помощью интуитивно понятного длительного нажатия и перетаскивания.
 - Выбор полосы с помощью мыши позволяет пользователям выбирать блок элементов в списке RecyclerView, используя традиционные действия с полосой указателя мыши или лассо.
 
 - Поддержка сенсорных устройств, включая форм-факторы телефонов и ноутбуков с сенсорным экраном, а также устройств, ориентированных на указатель.
 
 - HEIF Writer обеспечивает поддержку записи неподвижных изображений в формате HEIF.
 -  Библиотека дизайна
-  Мы представили новую тему приложения 
Theme.MaterialComponentsс новыми атрибутами и обновленными стилями для компонентов. -  Мы добавили следующие компоненты:
- Нижняя панель приложений
 - Чип
 - ЧипГруппа
 - МатериалКнопка
 - МатериалКартаView
 
 
 -  Мы представили новую тему приложения 
 -  Slices предоставляет приложениям платформу для встраивания шаблонного контента из других приложений.
- срезы-построители содержат методы для создания контента в формате шаблона.
 - слайсы-представление содержат методы для представления этого контента.
 
 - Действия браузера предоставляют разработчикам приложений протокол для запуска согласованного (но настраиваемого) контекстного меню для URL-адресов. Эта функция зависит от наличия браузерного приложения (например, Chrome, где эта функция все еще находится в стадии разработки), которое реализует поддержку действий браузера.
 -  
ContextCompat.getSystemService()иgetSystemServiceName()позволяют выполнять поиск системных служб по типу на всех уровнях API. 
Исправления ошибок
- OnCleared фрагмента ViewModel не вызывается (проблема AOSP 74139250 )
 - onLoadFinished() вызывается несколько раз в ViewPager с помощью FragmentPagerAdapter (проблема AOSP 74182171 )
 - Функция SmoothScrollToPosition() LinearLayoutManager RecyclerView отображает беспорядочное движение (вперед и назад) при определенных обстоятельствах (проблема AOSP 71567765 ).
 
Выпуск версии 27.1.0
(февраль 2018 г.)
Важные изменения
-  Базовая реализация Loaders была переписана для использования Lifecycle . Хотя API остался неизменным, есть ряд изменений в поведении:
-  
initLoader(),restartLoader()иdestroyLoader()теперь можно вызывать только в основном потоке. -  
onStartLoading()иonStopLoading()загрузчика теперь вызываются, когда содержащий FragmentActivity/Fragment запускается и останавливается соответственно. -  
onLoadFinished()будет вызываться только междуonStart()иonStop. В результате транзакции Fragment теперь можно безопасно выполнять вonLoadFinished(). - Методы FragmentController, связанные с загрузчиками, теперь устарели.
 
 -  
 -  
getDialog()в DialogFragment теперь будет ненулевым вплоть доonDestroyView(), а не станет нулевым вdismiss(). Теперь вы можете определить, был ли диалог закрыт вручную вonStop()проверив, возвращает лиgetDialog().isShowing()false. 
Новые API
-  
ListAdapterдляRecyclerView(вместе сAsyncListDiffer) упрощает вычисление различий в списках в фоновом потоке. Это может помочь вашему RecyclerView автоматически анимировать изменения содержимого с минимальной работой в потоке пользовательского интерфейса. Они используютDiffUtilпод капотом. -  
SortedList.ReplaceAllпозволяет обновлять все данные в SortedList, который запускает все соответствующие анимации для вставок, удалений, изменений и перемещений (перемещения рассматриваются как удаления и вставки). -  FragmentActivity и Fragment теперь реализуют 
ViewModelStoreOwnerи теперь могут использоваться с конструкторамиViewModelProviderв качестве альтернативы использованиюViewModelProviders.of() -  Фрагменты теперь имеют 
requireContext(),requireActivity(),requireHost()иrequireFragmentManager(), которые возвращают объектNonNullиз эквивалентных методов get или вызывают исключениеIllegalStateException. -  
requireViewById(), версияfindViewById()совместимая с@NonNull, была добавлена вWindowCompat,ActivityCompatиViewCompat, которые выдают исключениеIllegalArgumentException, когда цель не может быть найдена. -  Методы 
LoaderCallbacksтеперь имеют соответствующие аннотации@Nullableи@NonNull. -  
FileProviderтеперь поддерживаетgetExternalMediaDirs()на устройствах API 21 и более поздних версий через новый элемент<external-media-path>. 
Исправления ошибок
- Фрагмент, который инициализирует загрузчик в onCreate, нарушил жизненный цикл внутри ViewPager.
 - LoaderManager выдает исключение IllegalStateException в onLoadFinished
 - LoaderViewModel не очищает свои загрузчики в onCleared
 - Файл класса для android.arch.lifecycle.ViewModelStoreOwner не найден
 - DialogFragment onDismiss не вызывается сразу после увольнения()
 - Эмодзи с флагом страны не работают на устройствах с ключами выпуска при использовании загружаемых шрифтов.
 - Библиотека настроек использует атрибуты, которые не будут работать в старых версиях Android.
 - Типы артефактов testlib MediaCompat неправильно документированы (проблема AOSP 71559905 ).
 - Сбой Google Sans в TypefaceCompatUtil
 - Предоставьте конструктор ArraySet, который принимает Collection.
 - updateApi удаляет файлы .ignore, которые следует сохранить.
 - избыточные MainFragments, созданные в BrowseFragment
 - Удалить использование отражения из CarRecyclerView.
 - java.lang.IllegalStateException в FragmentManagerImpl.checkStateLoss
 - Получил (недокументированное) java.lang.SecurityException при использовании android.support.v4.content.PermissionChecker.checkSelfPermission
 - RecyclerView IndexOutOfBoundsException, поскольку State.mPreviousLayoutItemCount не очищается в setAdapter (проблема AOSP 37657125 )
 - Фрагмент, который инициализирует загрузчик в onCreate, нарушил жизненный цикл внутри ViewPager (проблема AOSP 34831613 )
 - Сбой FragmentManagerImpl.execSingleAction
 
Выпуск версии 27.0.2
(ноябрь 2017 г.)
Исправления ошибок
-  
EmojiEditTextHelperвыдает исключениеNullPointerException. -  
IllegalStateException: фрагмент еще не прикреплен. - Невозможно закрыть всплывающее окно со значком трансляции, нажав в любом месте экрана.
 -  
MediaMetadataCompatвыдает исключениеBadParcelableException. 
Выпуск версии 27.0.1
(ноябрь 2017 г.)
Исправления ошибок
-  LifecycleRegistry находится в неправильном состоянии после вызова 
startActivityForResult(). (Выпуск 65665621 ) - Цвет отключенных кнопок слишком светлый на старых уровнях API.
 -  После прокрутки пользователь не может щелкнуть элемент в 
RecyclerView. (выпуск AOSP 66996774 ) - В Talkback нажатие на дополнительные параметры не приводит к тому, что система объявляет новое всплывающее окно или выделяет новые параметры.
 
Выпуск версии 27.0.0
(октябрь 2017 г.)
Различия API
Изменения API
- Аннотации об отсутствии значений были добавлены к различным API, включая следующие: Это может привести к ошибкам компиляции Kotlin, если типы возвращаемых значений, допускающие значение NULL, не обрабатываются должным образом.
 -  
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. - Теперь поддерживаются доверенные пользовательские вкладки, а также возможность определять связь между приложением и исходным URI.
 - Поддержка окружающего режима Android Wear упрощается за счет использования безголового фрагмента AmbientMode, который также делает поддержку окружающего режима совместимой с использованием компонентов архитектуры.
 
- Команда Wear ищет отзывы разработчиков об этом значительном изменении. Дополнительную информацию см. в примечаниях к выпуску Android Wear .
 
-  Некоторые устаревшие классы удалены по мере того, как мы отходим от старых API-интерфейсов до версии V14, таких как 
android.support.v7.NotificationCompat(вместо этого используйтеNotificationCompatv4),KeyEventCompat,ParallelExecutorCompatиSearchViewCompat. -  Все перенесенные константы метаданных манифеста износа теперь доступны через 
android.support.wear.utils.MetadataConstants. -  Поддержка режима Ambient теперь доступна для всех действий, а не только для WearableActivity. Дополнительные сведения см. в справочнике 
AmbientMode. -  
RoundedDrawableтеперь поддерживает инфляцию XML. 
Исправления ошибок
- Приложение вылетает из-за библиотеки поддержки 27 и загружаемого шрифта.
 - Загружаемые шрифты не работают в новых проектах, созданных после обновления SDK.
 - API SpeechRecouncer API не работает в последнем обновлении
 - Сбой, связанный с фрагментом, во время отрисовки после удаления анимированного представления.
 - поддержка-leanback-демо воспроизведение мультимедиа не работает
 - Библиотека поддержки Android добавляет <метаданные> в манифест
 - FontResourcesParserCompat должен понимать Android: attrs
 - Leanback Glue не поддерживает клавишу ввода паузы
 - Неразрешенный символ в IDE, когда несколько пакетов имеют один и тот же идентификатор артефакта.
 - Исключение нулевого указателя в CarExtender
 - Неправильный режим перемешивания/повтора установлен в PlaybackState после создания MediaController
 - Плакаты по умолчанию кластера библиотеки переходят на следующий кластер во время навигации
 - Метаданные карточки рекомендации обрезаны.
 - IllegalArgumentException в RecyclerView.attachViewToParent()
 - ClassNotFoundException при демаршаллинге SavedState (проблема AOSP 37133281 )
 - Фокус застревает в RecyclerView
 - Исправьте ANR в Leanback LayoutManager.
 
Выпуск версии 26.1.0
(сентябрь 2017 г.)
Это специальный выпуск для интеграции библиотеки поддержки с жизненными циклами компонентов архитектуры . Если вы не используете библиотеку Lifecycles, вам не нужно обновляться с версии 26.0.2. Дополнительные сведения см. в примечаниях к выпуску компонентов архитектуры .
Важные изменения
-  
FragmentиFragmentActivity(базовый класс дляAppCompatActivity) теперь реализуют интерфейсLifecycleOwnerиз Architecture Components . 
Выпуск версии 26.0.2
(август 2017 г.)
Исправления ошибок
- Значки меню в библиотеке поддержки 26.0.0 сведены к минимуму.
 -  
GuidedAction.multilineDescriptionне работает должным образом с Leanback. 
Выпуск версии 26.0.1
(август 2017 г.)
Исправления ошибок
- FontCompat 26.0.0 аварийно завершает работу на устройствах O-MR1
 - Библиотека поддержки дизайна версии 26.0.0 не должна включать поддержку мультидекса (проблема 63999442 ))
 - AppBarLayout теперь имеет 300 пикселей левого заполнения с версии 26.0.0.
 - Навигация PlaybackTransportControl не работает.
 - Fragment.onCreateView вызывается незадолго до завершения onCreate.
 - android.os.BadParcelableException: ClassNotFoundException при демаршаллинге: android.support.v4.media.MediaMetadataCompat
 
Выпуск версии 26.0.0
(июль 2017 г.)
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно загружать репозиторий поддержки из SDK Manager. Дополнительные сведения см. в разделе Настройка библиотеки поддержки .
Важные изменения
- Минимальная версия SDK была увеличена до 14. В результате многие API, существовавшие только для совместимости с уровнями API до 14, были признаны устаревшими. Клиентам этих API следует перейти на эквиваленты их платформы, как указано на справочной странице для каждого устаревшего API.
 - Библиотека пользовательского интерфейса Wear содержит классы, которые помогут вам реализовать шаблоны и макеты, работающие на устройствах Wear. Дополнительные сведения см. в разделе Использование библиотеки пользовательского интерфейса Wear .
 -  Модуль процентной поддержки устарел. Клиентам этого модуля следует перейти на новый виджет 
ConstraintLayout, который предоставляется как отдельный артефакт в SDK Manager. -  
android.support.v7.app.NotificationCompatи содержащиеся в нем классы устарели и будут удалены в будущем выпуске:-  Используйте 
NotificationCompat.Builderвместоv7.app.NotificationCompat.Builder. Функциональность, которая раньше основывалась на использовании AppCompat Builder версии 7, теперь включена в Compat Builder версии 4. -  
DecoratedCustomViewStyleперемещен в пакетandroid.support.v4.app. -  
MediaStyleиDecoratedMediaCustomViewStyleтеперь являются частью библиотеки медиа-совместимости и их можно найти в пакете android.support.v4.media.app . 
 -  Используйте 
 
Новые API
-  Новый логический флаг 
fastScrollEnabledдляRecyclerView. Если этот параметр включен, необходимо установитьfastScrollHorizontalThumbDrawable,fastScrollHorizontalTrackDrawable,fastScrollVerticalThumbDrawableиfastScrollVerticalTrackDrawable. 
Различия API
Исправления ошибок
- Бесконечный цикл в RecyclerView.toString()
 - ResourceNotFoundException запускает проект Kotlin на API 16 AVD после обновления до Canary 6
 - java.lang.AssertionError в режиме дизайна с библиотекой поддержки 26.0.0-beta2
 - Предварительный просмотр макета Android Studio не работает для виджетов библиотеки поддержки
 - Preference.setSingleLineTitle() игнорируется, если предпочтение не было создано с атрибутами.
 - Аннотации DAC "Since" неверны для версий 25.3.0/25.4.0 библиотеки поддержки.
 - ResourcesCompat.getFont() выдает исключение
 - Название панели инструментов не выделено жирным шрифтом
 - Автоматическое определение размера с помощью maxLines дает неожиданные результаты
 - NullPointerException в TextView.checkForRelayout()
 - AppCompatTextViewAutoSizeHelper.setRawTextSize() вызывает requestLayout() во время макета
 - Сбой EmojiAppCompatTextView
 - Autosize TextView не регулируется автоматически при изменении текста
 - Повреждение экрана в Instacart
 - Исключение UnsupportedOperationException в MenuItemCompat
 - NotificationCompat не полностью извлекает действия в API 24 или выше.
 - Проблемы привязки координатораLayout при обновлениях макета