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. Матеріал 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 {
    // Підтримувана бібліотека (застаріло)
    // 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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

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