AndroidX: co to je, klíčové knihovny a migrace

Autor: IT Sectr Publikováno: 2026-05-01 Doba čtení: 8 min

AndroidX je sada knihoven Jetpack od Google, která nahradila zastaralou Support Library. Podle Google Developer Documentation, 2024 poskytuje AndroidX zpětně kompatibilní komponenty pro všechny verze Androidu a je standardem moderního vývoje pro Android. Knihovny AndroidX zahrnují nástroje pro UI, navigaci, práci s daty, kamerou a úlohy na pozadí.

Hlavní body

  • AndroidX — nástupce Support Library, vydaný v roce 2018 jako součást Jetpack
  • Knihovny AndroidX nejsou závislé na verzi API a fungují na zařízeních s Android 4.0+
  • Migrace z Support Library se provádí automaticky přes Android Studio
  • Hlavní moduly: Activity, Fragment, RecyclerView, Navigation, Room, WorkManager
  • Semantické verzování umožňuje aktualizovat knihovny nezávisle na sobě

Co je AndroidX

AndroidX je open source knihovna, která je součástí Android Jetpack. Google vydal AndroidX v roce 2018 jako náhradu za Support Library, která od roku 2011 poskytovala zpětně kompatibilní komponenty pro staré verze Androidu.

Před příchodem AndroidX měla každá komponenta Support Library svou vlastní verzi vázanou na targetSdkVersion. Vývojáři museli současně připojovat několik verzí stejné knihovny, což vedlo ke konfliktům závislostí a nárůstu velikosti APK souboru.

AndroidX vyřešil tento problém pomocí sémantického verzování (SemVer). Nyní je každá knihovna samostatný Gradle artefakt s verzí ve formátu MAJOR.MINOR.PATCH. Vývojář může aktualizovat Room z 2.4.0 na 2.6.0, aniž by se dotkl Activity, Fragment nebo jiných modulů.

Historie vzniku AndroidX

První stabilní vydání AndroidX 1.0.0 proběhlo v prosinci 2018 společně s Android 9 Pie. Google oznámil, že Support Library přechází do režimu údržby a všechny nové komponenty — Navigation, WorkManager, Compose — budou vydávány pouze v rámci AndroidX. Poslední verze Support Library — 28.0.0 — vyšla v roce 2019.

Podle Google I/O 2019 byl klíčovým důvodem přechodu potřeba urychlit vydávání aktualizací. Ve starém modelu jedna knihovna čekala na druhou kvůli jednotné verzi balíčku. AndroidX toto blokování odstranil a Jetpack začal dostávat hlavní a vedlejší vydání každé 2–3 měsíce.

Rozdíl mezi AndroidX a Support Library

Hlavním rozdílem je prostor názvů. Support Library používala balíček android.support.*, zatímco AndroidX přešel na androidx.*. Tato změna umožnila rozdělení knihoven do funkčních modulů. Například Fragment z Support Library se jmenoval android.support.v4.app.Fragment, v AndroidX — androidx.fragment.app.Fragment.

Druhým důležitým rozdílem je architektura. AndroidX je dodáván společně s Jetpack — sadou doporučení pro architekturu aplikací. Jetpack zahrnuje ViewModel, LiveData, Room, Navigation a WorkManager, které byly navrženy jako jednotný ekosystém, nikoliv jako roztříštěné nástroje.

Zpětná kompatibilita se také zlepšila. Zatímco Support Library podporovala Android 2.3+, AndroidX garantuje fungování na zařízeních s Android 4.0 (API 14) a vyšším — to pokrývá více než 99 % aktivních zařízení podle Google Play Console 2024.

Složení knihoven AndroidX

AndroidX zahrnuje více než 100 knihoven rozdělených do skupin. Každá skupina odpovídá za určitou oblast: UI, data, navigaci, úlohy na pozadí, multimédia a testování. Níže je uveden přehled klíčových modulů.

Core a základní knihovny

androidx.core:core — základní knihovna obsahující zpětně kompatibilní verze systémových API: NotificationCompat, ActivityCompat, ContextCompat. Modul core-ktx poskytuje Kotlin rozšíření pro práci se soubory, SharedPreferences a prvky zobrazení.

Knihovna androidx.activity:activity zavedla Activity Result API (registerForActivityResult), který nahradil zastaralý startActivityForResult. Modul fragment:fragment spravuje životní cyklus fragmentů a podporuje FragmentManager pro transakce a zásobník zpět.

androidx.lifecycle — základ architektury Jetpack. LifecycleOwner a LifecycleObserver umožňují komponentám reagovat na změny životního cyklu Activity nebo Fragment. ViewModel uchovává data při otáčení obrazovky a LiveData informuje UI o změnách dat.

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 knihovny

androidx.recyclerview:recyclerview — výkonná komponenta pro zobrazení seznamů a mřížek. RecyclerView podporuje LayoutManager (LinearLayoutManager, GridLayoutManager), ItemDecoration a animace přes ItemAnimator. Knihovna ListAdapter s AsyncListDiffer zjednodušuje aktualizaci seznamu s automatickým výpočtem rozdílů.

androidx.navigation:navigation — knihovna pro navigaci mezi obrazovkami. Navigation Component pracuje s NavHostFragment a NavController, podporuje Safe Args pro předávání typových parametrů a Deep Links pro externí odkazy. NavGraph popisuje všechny trasy v XML souboru.

androidx.compose.ui — deklarativní UI framework Jetpack Compose, postavený na Kotlin. Na rozdíl od systému View, Compose překresluje pouze změněné prvky pomocí recomposition. Komponenty Material Design 3 (Button, TextField, Scaffold) jsou k dispozici v modulu material3.

KnihovnaArtefaktÚčel
Fragmentandroidx.fragmentSpráva fragmentů a transakcí
RecyclerViewandroidx.recyclerviewSeznamy a mřížky s optimalizací
Navigationandroidx.navigationNavigace mezi obrazovkami
Compose UIandroidx.compose.uiDeklarativní UI na Kotlin

Knihovny pro práci s daty

androidx.room:room — ORM pro lokální ukládání dat. Room generuje DAO třídy z anotovaných SQLite dotazů, kontroluje SQL syntaxi při kompilaci a podporuje RxJava a Kotlin Flow. Verze 2.6 obsahuje podporu KSP pro rychlejší generování kódu.

androidx.work:workmanager — knihovna pro úlohy na pozadí s garantovaným provedením. WorkManager podporuje periodické úlohy, řetězce prací (beginWith, then) a kritéria spuštění (Constraints: síť, nabíjení, paměť). I když je aplikace zavřená, WorkManager doručí úlohu po restartu zařízení.

androidx.datastore:datastore — moderní náhrada za SharedPreferences. DataStore používá Kotlin Coroutines a Flow, pracuje synchronně i asynchronně a odstraňuje blokování UI vlákna. Preferences DataStore ukládá jednoduché páry klíč-hodnota, zatímco Proto DataStore — typové objekty přes Protocol Buffers.

Jak migrovat na AndroidX

Automatická migrace je doporučený způsob přechodu z Support Library na AndroidX od Google. Android Studio od verze 3.2 obsahuje vestavěný nástroj Refactor Migrate to AndroidX, který nahrazuje jmenné prostory a aktualizuje závislosti v build.gradle.

Před migrací je nutné aktualizovat verzi compileSdk na 28 nebo vyšší. Také se ujistěte, že všechny knihovny třetích stran podporují AndroidX. Pokud některá závislost ještě nebyla migrována, můžete použít příznak android.enableJetifier=true v gradle.properties — ten automaticky přepíše bytecode knihoven třetích stran.

Automatická migrace v Android Studio

V Android Studio vyberte z nabídky Refactor Migrate to AndroidX. IDE prohledá celý projekt, najde všechny importy z balíčku android.support.* a nahradí je za androidx.*. Aktualizují se také závislosti v app/build.gradle — artefakty Support Library budou nahrazeny odpovídajícími verzemi AndroidX.

Po migraci může Gradle Sync zobrazit chyby, pokud některé závislosti nebyly nalezeny. Zkontrolujte seznam používaných knihoven v dokumentaci Google Maven — všechny artefakty AndroidX jsou publikovány na google(). Pokud knihovna není k dispozici, přidejte mavenCentral() do repositories.

groovy
android {
    compileSdk 34
}

dependencies {
    // Support Library (zastaralé)
    // 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'
}

Ruční migrace

Pokud je projekt příliš velký nebo obsahuje vlastní View z Support Library, automatické nahrazení může být neúplné. Ručně nahraďte všechny řetězce v kódu: změňte importy, atributy v XML (app/src/main/res) a reference v manifestu. U atributů Support Library se předpona android: mění na app: (např. app:cardCornerRadius místo android:cardCornerRadius).

Po ruční migraci zkontrolujte R reference. Support Library exportovala zdroje přes android.support.v7.appcompat.R, AndroidX přes androidx.appcompat.R. Spusťte vyhledávání v projektu a nahraďte všechny zmínky starých R cest. Sestavení projektu by mělo proběhnout bez chyb a varování o zastaralosti.

Výhody používání AndroidX

První výhodou AndroidX je modularita. Připojujete pouze ty knihovny, které skutečně používáte. Pokud aplikace potřebuje jen RecyclerView a Navigation, není nutné tahat celou Support Library se všemi View komponentami. To snižuje velikost APK a urychluje sestavení projektu.

Druhou výhodou jsou pravidelné aktualizace. Jetpack vydává stabilní verze každé 1–3 měsíce. Room 2.6.0, vydaný v roce 2024, přidal podporu KSP a Kotlin 2.0. Navigation 2.8.0 zavedl typově bezpečné trasy založené na serializaci Kotlinx Serialization. Vývojáři získávají nové možnosti bez čekání na další verzi Androidu.

Třetí výhodou je integrace s Kotlin. Všechny knihovny AndroidX mají moduly -ktx s rozšiřujícími funkcemi. viewLifecycleOwner.lifecycleScope spouští korutiny v kontextu fragmentu, collectLatest zpracovává Flow a SharedFlow a StateFlow jsou plně kompatibilní s Lifecycle-aware komponentami. To dělá kód stručnějším a bezpečnějším.

Zpětná kompatibilita je klíčovou výhodou AndroidX oproti novým API platformy. Můžete použít AppCompatDelegate.setDefaultNightMode pro tmavý motiv na Android 4.0+, NotificationCompat.setBubble pro bubliny na Android 5.0+ a LocationRequestCompat pro fused location na Android 4.0+. Pokrytí zařízení dosahuje 99% bez zvyšování minimální verze SDK.

Čtvrtou výhodou je testování. AndroidX zahrnuje knihovnu androidx.test pro psaní instrumentálních a jednotkových testů. FragmentScenario a ActivityScenario umožňují testovat UI komponenty v izolaci a TestNavHostController — kontrolovat navigaci bez spouštění skutečného zařízení. MockK a Robolectric doplňují ekosystém.

Často kladené otázky

Čím se liší AndroidX od Support Library?

AndroidX používá prostor názvů androidx.* místo android.support.*, má nezávislé verzování (SemVer), zahrnuje knihovny Jetpack a podporuje Kotlin rozšíření -ktx. Support Library byla zmražena na verzi 28.0.0 v roce 2019.

Jak připojit AndroidX v novém projektu?

V Android Studio zapněte příznak Use AndroidX v kroku vytváření projektu. U existujícího projektu přidejte android.useAndroidX=true a android.enableJetifier=true do gradle.properties. Poté nahraďte závislosti v build.gradle artefakty ze skupiny androidx.

Je migrace na AndroidX povinná?

Google Play vyžaduje, aby všechny aplikace a aktualizace používaly AndroidX. Podpora Support Library byla ukončena a neobdrží bezpečnostní opravy. Pokud vaše aplikace ještě nebyla migrována, může to vést k odmítnutí aktualizace v Google Play Console.

Co je Jetpack v Androidu?

Jetpack je sada knihoven, nástrojů a doporučení od Google pro vývoj Android aplikací. AndroidX je základem Jetpack. Jetpack zahrnuje Architecture Components (Lifecycle, ViewModel, Room), UI (Compose, Fragment, RecyclerView) a Behavior (WorkManager, Navigation, CameraX).

Lze použít AndroidX s Jetpack Compose?

Ano, Jetpack Compose sám je součástí AndroidX (androidx.compose.ui). Knihovny ViewModel, Navigation, Room a WorkManager jsou plně kompatibilní s Compose. Funkce collectAsState() a collectAsStateWithLifecycle() zajišťují integraci Flow s funkcemi Compose.

Shrnutí

  • AndroidX — moderní sada knihoven Jetpack, nástupce Support Library se sémantickým verzováním
  • Více než 100 modulů pokrývá UI, data, navigaci, úlohy na pozadí, multimédia a testování
  • Automatická migrace v Android Studio nahrazuje importy a závislosti několika kliknutími
  • Kotlin rozšíření -ktx zkracují šablonový kód a integrují se s korutinami a Flow
  • Zpětná kompatibilita s Android 4.0+ pokrývá 99% aktivních zařízení
  • Jetpack spojuje AndroidX s architektonickými doporučeními — ViewModel, Room, Navigation, WorkManager
  • Používejte AndroidX ve všech nových projektech — je to průmyslový standard od roku 2019

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také