AndroidX: что это такое, ключевые библиотеки и миграция

Автор: IT Sectr Опубликовано: 2026-05-01 Время чтения: 8 мин

AndroidX — это набор библиотек Jetpack от Google, который заменил устаревшую Support Library. По данным Google Developer Documentation, 2024, AndroidX предоставляет обратно совместимые компоненты для всех версий Android и является стандартом современной Android-разработки. Библиотеки AndroidX включают инструменты для UI, навигации, работы с данными, камерой и фоновыми задачами.

Главное

  • AndroidX — преемник Support Library, выпущенный в 2018 году как часть Jetpack
  • Библиотеки AndroidX не зависят от версии API и работают на устройствах с Android 4.0+
  • Миграция с Support Library выполняется через Android Studio автоматически
  • Основные модули: Activity, Fragment, RecyclerView, Navigation, Room, WorkManager
  • Семантическое версионирование позволяет обновлять библиотеки независимо друг от друга

Что такое AndroidX

AndroidX — это библиотека с открытым исходным кодом, которая входит в состав Android Jetpack. Google выпустила AndroidX в 2018 году как замену Support Library, которая с 2011 года поставляла обратно совместимые компоненты для старых версий Android.

До появления AndroidX каждый компонент Support Library имел свою версию, привязанную к targetSdkVersion. Разработчикам приходилось одновременно подключать несколько версий одной и той же библиотеки, что приводило к конфликтам зависимостей и росту размера APK-файла.

AndroidX решил эту проблему за счёт семантического версионирования (SemVer). Теперь каждая библиотека — это отдельный Gradle-артефакт с версией в формате MAJOR.MINOR.PATCH. Разработчик может обновлять Room с 2.4.0 до 2.6.0, не трогая Activity, Fragment или другие модули.

История появления AndroidX

Первый стабильный релиз AndroidX 1.0.0 состоялся в декабре 2018 года вместе с Android 9 Pie. Google объявила, что Support Library переходит в режим поддержки и все новые компоненты — Navigation, WorkManager, Compose — будут выходить только в составе AndroidX. Последняя версия Support Library — 28.0.0 — вышла в 2019 году.

По данным Google I/O 2019, ключевой причиной перехода стала необходимость ускорить выпуск обновлений. В старой модели одна библиотека ждала другую из-за единой версии пакета. AndroidX устранил эту блокировку, и Jetpack начал получать мажорные и минорные релизы каждые 2–3 месяца.

Отличие AndroidX от Support Library

Основное отличие — пространство имён. Support Library использовала пакет android.support.*, а AndroidX перешёл на androidx.*. Это изменение позволило разделить библиотеки по функциональным модулям. Например, Fragment из Support Library назывался android.support.v4.app.Fragment, а в AndroidX — androidx.fragment.app.Fragment.

Второе важное отличие — архитектура. AndroidX поставляется вместе с Jetpack — набором рекомендаций по архитектуре приложений. Jetpack включает ViewModel, LiveData, Room, Navigation и WorkManager, которые разрабатывались как единая экосистема, а не как разрозненные утилиты.

Обратная совместимость также улучшилась. Если Support Library поддерживала Android 2.3+, то AndroidX гарантирует работу на устройствах с Android 4.0 (API 14) и выше — это охватывает более 99% активных устройств по данным Google Play Console 2024.

Состав библиотек AndroidX

AndroidX включает более 100 библиотек, разделённых на группы. Каждая группа отвечает за определённую область: UI, данные, навигацию, фоновые задачи, мультимедиа и тестирование. Ниже приведён обзор ключевых модулей.

Core и базовые библиотеки

androidx.core:core — базовая библиотека, которая содержит обратно совместимые версии системных API: NotificationCompat, ActivityCompat, ContextCompat. Модуль core-ktx предоставляет Kotlin-расширения для работы с файлами, SharedPreferences и view-элементами.

Библиотека androidx.activity:activity ввела Activity Result API (registerForActivityResult), который заменил устаревший startActivityForResult. Модуль fragment:fragment управляет жизненным циклом фрагментов и поддерживает FragmentManager для транзакций и бэкстека.

androidx.lifecycle — основа архитектуры Jetpack. LifecycleOwner и LifecycleObserver позволяют компонентам реагировать на изменения жизненного цикла Activity или Fragment. ViewModel сохраняет данные при повороте экрана, а LiveData уведомляет UI об изменениях в данных.

kotlin
class MainViewModel : ViewModel() {
    private val _users = MutableLiveData<List<User>>()
    val users: LiveData<List<User>> = _users

    fun loadUsers() {
        viewModelScope.launch {
            val result = repository.getUsers()
            _users.value = result
        }
    }
}

UI-библиотеки

androidx.recyclerview:recyclerview — мощный компонент для отображения списков и сеток. RecyclerView поддерживает LayoutManager (LinearLayoutManager, GridLayoutManager), ItemDecoration и анимации через ItemAnimator. Библиотека ListAdapter с AsyncListDiffer упрощает обновление списка с автоматическим расчётом diff.

androidx.navigation:navigation — библиотека для навигации между экранами. Navigation Component работает с NavHostFragment и NavController, поддерживает Safe Args для передачи типизированных параметров и Deep Links для внешних ссылок. NavGraph описывает все маршруты в XML-файле.

androidx.compose.ui — декларативный UI-фреймворк Jetpack Compose, построенный на Kotlin. В отличие от View-системы, Compose перерисовывает только изменившиеся элементы через recomposition. Material Design 3 компоненты (Button, TextField, Scaffold) доступны в модуле material3.

БиблиотекаАртефактНазначение
Fragmentandroidx.fragmentУправление фрагментами и транзакциями
RecyclerViewandroidx.recyclerviewСписки и сетки с оптимизацией
Navigationandroidx.navigationНавигация между экранами
Compose UIandroidx.compose.uiДекларативный UI на Kotlin

Библиотеки для работы с данными

androidx.room:room — ORM для локального хранения данных. Room генерирует DAO-классы из аннотированных запросов SQLite, проверяет SQL-синтаксис на этапе компиляции и поддерживает RxJava и Kotlin Flow. Версия 2.6 включает поддержку KSP для более быстрой генерации кода.

androidx.work:workmanager — библиотека для фоновых задач с гарантированным выполнением. WorkManager поддерживает периодические задачи, цепочки работ (beginWith, then) и критерии запуска (Constraints: сеть, зарядка, память). Даже если приложение закрыто, WorkManager доставляет задачу после перезагрузки устройства.

androidx.datastore:datastore — современная замена SharedPreferences. DataStore использует Kotlin Coroutines и Flow, работает синхронно и асинхронно, исключая блокировку UI-потока. Preferences DataStore хранит простые пары ключ-значение, а Proto DataStore — типизированные объекты через Protocol Buffers.

Как мигрировать на AndroidX

Автоматическая миграция — это рекомендуемый Google способ перехода с Support Library на AndroidX. Android Studio начиная с версии 3.2 включает встроенный инструмент Refactor Migrate to AndroidX, который заменяет пространства имён и обновляет зависимости в build.gradle.

Перед миграцией необходимо обновить версию compileSdk до 28 или выше. Также стоит убедиться, что все сторонние библиотеки поддерживают AndroidX. Если какая-то зависимость ещё не мигрирована, можно использовать флаг android.enableJetifier=true в gradle.properties — он автоматически переписывает байткод сторонних библиотек.

Автоматическая миграция в Android Studio

В Android Studio выберите Refactor Migrate to AndroidX из меню. IDE просканирует весь проект, найдет все импорты из пакета android.support.* и заменит их на androidx.*. Также обновятся зависимости в app/build.gradle — Support Library артефакты заменятся на соответствующие AndroidX версии.

После миграции Gradle Sync может показать ошибки, если некоторые зависимости не были найдены. Проверьте список используемых библиотек в документации Google Maven — все артефакты AndroidX опубликованы на google(). Если библиотека недоступна, добавьте mavenCentral() в repositories.

groovy
android {
    compileSdk 34
}

dependencies {
    // Support Library (устарело)
    // implementation 'com.android.support:appcompat-v7:28.0.0'
    
    // AndroidX
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'androidx.activity:activity-ktx:1.9.3'
    implementation 'androidx.fragment:fragment-ktx:1.8.5'
    implementation 'androidx.recyclerview:recyclerview:1.3.2'
    implementation 'androidx.room:room-runtime:2.6.1'
    ksp 'androidx.room:room-compiler:2.6.1'
}

Ручная миграция

Если проект слишком большой или содержит кастомные View из Support Library, автоматическая замена может быть неполной. Вручную замените все строки в коде: измените импорты, атрибуты в XML (app/src/main/res) и ссылки в манифесте. Для атрибутов Support Library префикс android: меняется на app: (например, app:cardCornerRadius вместо android:cardCornerRadius).

После ручной миграции проверьте R-ссылки. Support Library экспортировала ресурсы через android.support.v7.appcompat.R, а AndroidX — через androidx.appcompat.R. Запустите поиск по проекту и замените все упоминания старых R-путей. Сборка проекта должна проходить без ошибок и предупреждений deprecation.

Преимущества использования AndroidX

Первое преимущество AndroidX — модульность. Вы подключаете только те библиотеки, которые реально используете. Если приложению нужен только RecyclerView и Navigation, нет необходимости тянуть весь Support Library со всеми View-компонентами. Это сокращает размер APK и ускоряет сборку проект.

Второе преимущество — регулярные обновления. Jetpack выпускает стабильные релизы каждые 1–3 месяца. Room 2.6.0, вышедший в 2024 году, добавил поддержку KSP и Kotlin 2.0. Navigation 2.8.0 ввёл типобезопасные маршруты на основе сериализации Kotlinx Serialization. Разработчики получают новые возможности без ожидания очередной версии Android.

Третье преимущество — интеграция с Kotlin. Все библиотеки AndroidX имеют модули -ktx с extension-функциями. viewLifecycleOwner.lifecycleScope запускает корутины в контексте фрагмента, collectLatest обрабатывает Flow, а SharedFlow и StateFlow полностью совместимы с Lifecycle-aware компонентами. Это делает код лаконичнее и безопаснее.

Обратная совместимость — ключевое преимущество AndroidX перед новыми API платформы. Вы можете использовать AppCompatDelegate.setDefaultNightMode для тёмной темы на Android 4.0+, NotificationCompat.setBubble для баблов на Android 5.0+ и LocationRequestCompat для fused location на Android 4.0+. Охват устройств достигает 99% без увеличения минимальной версии SDK.

Четвёртое преимущество — тестирование. AndroidX включает библиотеку androidx.test для написания инструментальных и модульных тестов. FragmentScenario и ActivityScenario позволяют тестировать UI-компоненты в изоляции, а TestNavHostController — проверять навигацию без запуска реального устройства. MockK и Robolectric дополняют экосистему.

Часто задаваемые вопросы

Чем AndroidX отличается от Support Library?

AndroidX использует пространство имён androidx.* вместо android.support.*, имеет независимое версионирование (SemVer), включает библиотеки Jetpack и поддерживает Kotlin-расширения -ktx. Support Library была заморожена на версии 28.0.0 в 2019 году.

Как подключить AndroidX в новый проект?

В Android Studio включите флаг Use AndroidX в шаге создания проекта. Для существующего проекта добавьте android.useAndroidX=true и android.enableJetifier=true в gradle.properties. Затем замените зависимости в build.gradle на артефакты из группы androidx.

Обязательно ли мигрировать на AndroidX?

Google Play требует, чтобы все приложения и обновления использовали AndroidX. Поддержка Support Library прекращена, и она не получает исправлений безопасности. Если ваше приложение ещё не мигрировало, это может привести к отклонению обновления в Google Play Console.

Что такое Jetpack в Android?

Jetpack — это набор библиотек, инструментов и рекомендаций от Google для разработки Android-приложений. AndroidX является основой Jetpack. В состав Jetpack входят Architecture Components (Lifecycle, ViewModel, Room), UI (Compose, Fragment, RecyclerView) и Behavior (WorkManager, Navigation, CameraX).

Можно ли использовать AndroidX с Jetpack Compose?

Да, Jetpack Compose сам является частью AndroidX (androidx.compose.ui). Библиотеки ViewModel, Navigation, Room и WorkManager полностью совместимы с Compose. Функции collectAsState() и collectAsStateWithLifecycle() обеспечивают интеграцию Flow с Compose-функциями.

Итоги

  • AndroidX — современный набор библиотек Jetpack, преемник Support Library с семантическим версионированием
  • Более 100 модулей покрывают UI, данные, навигацию, фоновые задачи, мультимедиа и тестирование
  • Автоматическая миграция в Android Studio заменяет импорты и зависимости за несколько кликов
  • Kotlin-расширения -ktx сокращают шаблонный код и интегрируются с корутинами и Flow
  • Обратная совместимость с Android 4.0+ охватывает 99% активных устройств
  • Jetpack объединяет AndroidX с архитектурными рекомендациями — ViewModel, Room, Navigation, WorkManager
  • Используйте AndroidX во всех новых проектах — это стандарт индустрии с 2019 года

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также