Поддержка пакетов библиотек

Примечание: С выходом Support Library 28.0.0 библиотеки, упакованные в пакет android.support , устарели и заменены библиотеками Jetpack с индивидуальными версиями, упакованными как androidx . Первоначальный релиз 1.0.0 библиотек Jetpack обеспечивает соответствие Support Library 28.0.0 и служит отправной точкой для перехода на новую упаковку androidx .

Существующие библиотеки, упакованные в пакет android.support продолжат работать; однако они не будут получать никаких обновлений после версии 28.0.0 и не будут совместимы с новыми библиотеками Jetpack. Исторические артефакты (версии 27 и более ранние, упакованные как android.support ) останутся доступными в Google Maven. Все новые артефакты будут упакованы как androidx и потребуют миграции с android.support на androidx .

Мы рекомендуем использовать библиотеки androidx во всех новых проектах. Также следует рассмотреть возможность миграции существующих проектов, чтобы обеспечить их дальнейшее получение исправлений ошибок и других улучшений библиотек.

Библиотека поддержки Android содержит несколько пакетов библиотек, которые можно включить в ваше приложение. Каждая из этих библиотек поддерживает определенный диапазон версий платформы Android и набор функций.

Для использования любой из следующих библиотек необходимо загрузить файлы библиотек в вашу установку Android SDK. Следуйте инструкциям по загрузке вспомогательных библиотек в разделе «Настройка вспомогательных библиотек» , чтобы завершить этот шаг. Для включения конкретной вспомогательной библиотеки в ваше приложение необходимо выполнить дополнительные действия. В конце каждого раздела о библиотеках ниже приведена важная информация о том, как включить библиотеку в ваше приложение.

Примечание: Минимальная версия SDK для всех пакетов библиотек поддержки — не ниже уровня API 14. Для некоторых пакетов требуется более высокий уровень API, как указано ниже.

Библиотеки поддержки v4

Эти библиотеки содержат самый большой набор API по сравнению с другими библиотеками, включая поддержку компонентов приложений, функций пользовательского интерфейса, доступности, обработки данных, сетевого подключения и утилит программирования.

Для получения полной и подробной информации о классах и методах, предоставляемых библиотеками поддержки v4, см. пакет android.support.v4 в справочнике API.

Примечание: До версии библиотеки поддержки 24.2.0 существовала единая библиотека поддержки v4. Эта библиотека была разделена на несколько модулей для повышения эффективности. Для обеспечения обратной совместимости, если вы укажете support-v4 в своем скрипте Gradle, ваше приложение будет включать все модули v4. Однако, чтобы уменьшить размер приложения, мы рекомендуем указывать только те модули, которые необходимы вашему приложению.

библиотека совместимости v4

Предоставляет совместимые обертки для ряда API фреймворка, таких как Context.obtainDrawable() и View.performAccessibilityAction() .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-compat:28.0.0

библиотека основных утилит v4

Предоставляет ряд вспомогательных классов, таких как AsyncTaskLoader и PermissionChecker .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-core-utils:28.0.0

библиотека v4 core-ui

Реализует различные компоненты, связанные с пользовательским интерфейсом, такие как ViewPager , NestedScrollView и ExploreByTouchHelper .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-core-ui:28.0.0

библиотека совместимости с медиафайлами v4

Включает в себя части медиафреймворка , в том числе MediaBrowser и MediaSession .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-media-compat:28.0.0

библиотека фрагментов v4

Добавляет поддержку инкапсуляции пользовательского интерфейса и функциональности с помощью фрагментов , позволяя приложениям предоставлять макеты, которые адаптируются для устройств с маленьким и большим экраном. Этот модуль зависит от compat , core-utils , core-ui и media-compat .

Примечание: Библиотека поддержки версии 13 предоставляет класс FragmentCompat . Класс Fragment версии 4 — это отдельный класс, содержащий исправления ошибок, добавленные в более поздних версиях платформы, тогда как класс FragmentCompat версии 13 предоставляет промежуточные файлы совместимости для реализации класса Fragment в рамках фреймворка.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-fragment:28.0.0

Библиотека поддержки Multidex

Эта библиотека обеспечивает поддержку сборки приложений с несколькими исполняемыми файлами Dalvik (DEX). Приложения, которые ссылаются на более чем 65536 методов, должны использовать конфигурацию multidex. Для получения дополнительной информации об использовании multidex см. раздел «Сборка приложений с более чем 64 000 методов» .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:multidex:1.0.0

Библиотеки поддержки v7

Эти библиотеки предоставляют определенные наборы функций и могут быть включены в ваше приложение независимо друг от друга.

Библиотека v7 appcompat является частью Android Jetpack .

Примечание: Библиотека appcompat была интегрирована в библиотеку AndroidX , которая является компонентом Android Jetpack . Вы можете увидеть её использование в демонстрационном приложении Sunflower .

Эта библиотека добавляет поддержку шаблона проектирования пользовательского интерфейса «Панель действий» . Библиотека также включает поддержку реализаций пользовательского интерфейса в стиле Material Design .

Примечание: Эта библиотека зависит от библиотеки поддержки версии 4.

Вот несколько ключевых классов, включенных в библиотеку appcompat версии 7:

  • ActionBar — предоставляет реализацию шаблона пользовательского интерфейса панели действий. Для получения дополнительной информации об использовании панели действий см. руководство разработчика по панели действий .
  • AppCompatActivity — добавляет класс активности приложения, который можно использовать в качестве базового класса для активностей, использующих реализацию панели действий из библиотеки поддержки.
  • AppCompatDialog — добавляет класс диалогового окна, который можно использовать в качестве базового класса для диалоговых окон с темой AppCompat.
  • ShareActionProvider — добавляет поддержку стандартизированного действия по обмену информацией (например, отправка по электронной почте или публикация в социальных сетях), которое может быть включено в панель действий.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:appcompat-v7:28.0.0

библиотека CardView v7

Эта библиотека добавляет поддержку виджета CardView , который позволяет отображать информацию внутри карточек, имеющих единый внешний вид в любом приложении. Такие карточки полезны для реализации Material Design и широко используются в макетах для приложений для телевизоров.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:cardview-v7:28.0.0

библиотека gridlayout v7

После загрузки библиотек поддержки Android эта библиотека добавляет поддержку класса GridLayout , который позволяет располагать элементы пользовательского интерфейса с помощью сетки прямоугольных ячеек. Подробную информацию об API библиотеки GridLayout версии 7 см. в описании пакета android.support.v7.widget в справочнике API.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:gridlayout-v7:28.0.0

библиотека медиамаршрутизатора v7

Эта библиотека предоставляет MediaRouter , MediaRouteProvider и связанные с ними классы для работы с мультимедиа, поддерживающие Google Cast .

В целом, API библиотеки mediarouter версии 7 предоставляют средства для управления маршрутизацией медиаканалов и потоков с текущего устройства на внешние экраны, динамики и другие целевые устройства. Библиотека включает API для публикации поставщиков маршрутизации мультимедиа для конкретных приложений, для обнаружения и выбора целевых устройств, для проверки состояния мультимедиа и многое другое. Подробную информацию об API библиотеки mediarouter версии 7 см. в описании пакета android.support.v7.media в справочнике API.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:mediarouter-v7:28.0.0

API библиотеки mediarouter версии 7, представленные в библиотеке поддержки r18, могут быть изменены в последующих версиях библиотеки поддержки. В настоящее время мы рекомендуем использовать библиотеку только в сочетании с Google Cast .

библиотека палитр v7

Библиотека поддержки палитр v7 включает класс Palette , который позволяет извлекать основные цвета из изображения. Например, музыкальное приложение может использовать объект Palette для извлечения основных цветов с обложки альбома и использовать эти цвета для создания цветовой гаммы заголовка песни.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:palette-v7:28.0.0

библиотека RecyclerView v7

Библиотека RecyclerView добавляет класс RecyclerView . Этот класс обеспечивает поддержку виджета RecyclerView , предназначенного для эффективного отображения больших наборов данных путем предоставления ограниченного окна с элементами данных.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:recyclerview-v7:28.0.0

Библиотека поддержки настроек v7

Пакет preference предоставляет API для добавления объектов настроек, таких как CheckBoxPreference и ListPreference , позволяющих пользователям изменять параметры пользовательского интерфейса.

Библиотека настроек версии 7 добавляет поддержку интерфейсов, таких как Preference.OnPreferenceChangeListener и Preference.OnPreferenceClickListener , а также классов, таких как CheckBoxPreference и ListPreference .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:preference-v7:28.0.0

Библиотека поддержки v8

Эта библиотека предоставляет определенный набор функций и может быть включена в ваше приложение независимо от других библиотек.

библиотека рендерскрипта v8

Эта библиотека добавляет поддержку вычислительной среды RenderScript . Эти API включены в пакет android.support.v8.renderscript . Следует учитывать, что шаги по включению этих API в ваше приложение существенно отличаются от шагов по включению API других библиотек поддержки. Для получения дополнительной информации об использовании этих API в вашем приложении см. руководство разработчика RenderScript .

Примечание: Использование RenderScript с библиотекой поддержки поддерживается в сборках Android Studio и Gradle. Библиотека RenderScript находится в папке build-tools/$VERSION/renderscript/ .

В следующем примере показаны свойства скрипта сборки Gradle для этой библиотеки:

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

Библиотека поддержки v13

Эта библиотека добавляет поддержку шаблона пользовательского интерфейса «Фрагменты» с классом ( FragmentCompat ) и дополнительными классами поддержки фрагментов. Для получения дополнительной информации о фрагментах см. руководство разработчика по фрагментам . Подробную информацию об API библиотеки поддержки v13 см. в пакете android.support.v13 в справочнике API.

Примечание: Библиотека фрагментов версии 4 предоставляет класс Fragment . Класс Fragment версии 4 — это отдельный класс, содержащий исправления ошибок, добавленные в более поздних версиях платформы, тогда как класс FragmentCompat версии 13 предоставляет промежуточные файлы совместимости для реализации класса Fragment в рамках фреймворка.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-v13:28.0.0

Библиотека поддержки настроек версии 14

Пакет android.support.v14.preference предоставляет API для добавления поддержки интерфейсов настроек, таких как PreferenceFragment.OnPreferenceStartFragmentCallback и PreferenceFragment.OnPreferenceStartScreenCallback , а также классов, таких как MultiSelectListPreference и PreferenceFragment . Подробную информацию об API библиотеки поддержки настроек v14 см. в описании пакета preference в справочнике API.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:preference-v14:28.0.0

Библиотека поддержки настроек v17 для телевизоров

Пакет android.support.v17.preference предоставляет API для настройки параметров на телевизионных устройствах, включая поддержку интерфейса LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener и таких классов, как BaseLeanbackPreferenceFragment и LeanbackPreferenceFragment . Подробную информацию об API библиотеки поддержки настроек v17 см. в описании пакета preference в справочнике API.

Для работы этого пакета требуется уровень API 17 или выше. Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

 com.android.support:preference-leanback-v17:28.0.0 

v17 Библиотека Leanback

Пакет android.support.v17.leanback предоставляет API для поддержки создания пользовательских интерфейсов на телевизионных устройствах. Он предоставляет ряд важных виджетов для телевизионных приложений. Среди наиболее известных классов можно выделить следующие:

  • BrowseFragment — фрагмент для создания основного макета для просмотра категорий и строк медиафайлов.
  • DetailsFragment — фрагмент-оболочка для экранов с подробной информацией о системе Leanback.
  • PlaybackOverlayFragment — подкласс DetailsFragment для отображения элементов управления воспроизведением и связанного с ними контента.
  • SearchFragment — фрагмент для обработки поиска. Фрагмент получает поисковый запрос пользователя и передает его предоставленному приложением SearchResultProvider . SearchResultProvider возвращает результаты поиска в SearchFragment , который отображает их в RowsFragment .

Для работы этого пакета требуется уровень API 17 или выше. Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:leanback-v17:28.0.0

Библиотека векторных изображений

Обеспечивает поддержку статической векторной графики.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-vector-drawable:28.0.0

Библиотека анимированных векторных изображений

Обеспечивает поддержку анимированной векторной графики.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:animated-vector-drawable:28.0.0

Библиотека поддержки аннотаций

Пакет Annotation предоставляет API для добавления метаданных аннотаций в ваши приложения.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:support-annotations:28.0.0

Библиотека поддержки дизайна

Пакет Design предоставляет API для добавления компонентов и шаблонов Material Design в ваши приложения.

Библиотека Design Support добавляет поддержку различных компонентов и шаблонов Material Design, которые разработчики приложений могут использовать в своей работе, например, боковые панели навигации, плавающие кнопки действий ( FAB ), всплывающие уведомления и вкладки .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:design:28.0.0

Библиотека поддержки пользовательских вкладок

Пакет Custom Tabs предоставляет API для добавления и управления пользовательскими вкладками в ваших приложениях.

Библиотека Custom Tabs Support добавляет поддержку различных классов, таких как Custom Tabs Service и Custom Tabs Callback .

Для работы этого пакета требуется уровень API 15 или выше. Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:customtabs:28.0.0

Библиотека поддержки в процентах

Пакет Percent предоставляет API для добавления и управления измерениями на основе процентов в вашем приложении.

Примечание: Начиная с версии 26.0.0, библиотека Percent Support устарела. Клиентам этого модуля следует перейти на новый виджет ConstraintLayout , который предоставляется в виде отдельного артефакта в SDK Manager.

Библиотека Percent Support добавляет поддержку интерфейса PercentLayoutHelper.PercentLayoutParams и различных классов, таких как PercentFrameLayout и PercentRelativeLayout .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:percent:28.0.0

Библиотека поддержки ExifInterface

Теги Exif хранят такую ​​информацию, как ориентация, дата и время, данные камеры и местоположение, непосредственно в файле JPEG или RAW. Класс ExifInterface обеспечивает поддержку чтения информации Exif из файлов форматов JPEG и RAW (DNG, CR2, NEF, NRW, ARW, RW2, ORF, PEF, SRW и RAF), а также установки информации Exif в файлах изображений JPEG.

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:exifinterface:28.0.0

Библиотека рекомендаций приложений для ТВ

Пакет App Recommendation предоставляет API для добавления рекомендаций контента в ваше приложение, работающее на телевизионных устройствах.

Библиотека приложений добавляет поддержку аннотаций, таких как ContentRecommendation.ContentMaturity , и различных классов, таких как ContentRecommendation и RecommendationExtender .

Для работы этого пакета требуется уровень API 21 или выше. Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:recommendation:28.0.0

Библиотека пользовательского интерфейса Wear UI

Эта библиотека содержит API для создания пользовательских интерфейсов для приложений Wear. API, доступные в пакете android.support.wear.widget , заменяют соответствующие API в библиотеке Wearable Support Library.

Для получения более подробной информации см. раздел «Использование библиотеки Wear UI» .

Идентификатор зависимости этой библиотеки в скрипте сборки Gradle выглядит следующим образом:

com.android.support:wear:28.0.0