AndroidX: wat is het, belangrijkste bibliotheken en migratie

Auteur: IT Sectr Gepubliceerd: 2026-05-01 Leestijd: 8 min

AndroidX is een set Jetpack-bibliotheken van Google die de verouderde Support Library heeft vervangen. Volgens Google Developer Documentation, 2024 biedt AndroidX achterwaarts compatibele componenten voor alle versies van Android en is het de standaard voor moderne Android-ontwikkeling. AndroidX-bibliotheken omvatten tools voor UI, navigatie, gegevensverwerking, camera en achtergrondtaken.

Belangrijkste punten

  • AndroidX — de opvolger van Support Library, uitgebracht in 2018 als onderdeel van Jetpack
  • AndroidX-bibliotheken zijn onafhankelijk van de API-versie en werken op apparaten met Android 4.0+
  • Migratie van Support Library wordt automatisch uitgevoerd via Android Studio
  • Belangrijkste modules: Activity, Fragment, RecyclerView, Navigation, Room, WorkManager
  • Semantische versiebeheer maakt het mogelijk bibliotheken onafhankelijk van elkaar bij te werken

Wat is AndroidX

AndroidX is een open source bibliotheek die deel uitmaakt van Android Jetpack. Google bracht AndroidX in 2018 uit als vervanging voor Support Library, die sinds 2011 achterwaarts compatibele componenten leverde voor oude versies van Android.

Voordat AndroidX verscheen, had elk onderdeel van Support Library zijn eigen versie gekoppeld aan targetSdkVersion. Ontwikkelaars moesten meerdere versies van dezelfde bibliotheek tegelijk aansluiten, wat leidde tot afhankelijkheidsconflicten en een grotere APK-bestandsgrootte.

AndroidX loste dit probleem op met semantische versiebeheer (SemVer). Nu is elke bibliotheek een apart Gradle-artefact met een versie in de MAJOR.MINOR.PATCH-indeling. Een ontwikkelaar kan Room bijwerken van 2.4.0 naar 2.6.0 zonder Activity, Fragment of andere modules aan te raken.

Geschiedenis van AndroidX

De eerste stabiele release AndroidX 1.0.0 vond plaats in december 2018 samen met Android 9 Pie. Google kondigde aan dat Support Library in onderhoudsmodus ging en alle nieuwe componenten — Navigation, WorkManager, Compose — alleen binnen AndroidX zouden worden uitgebracht. De laatste versie van Support Library — 28.0.0 — werd uitgebracht in 2019.

Volgens Google I/O 2019 was de belangrijkste reden voor de overstak de noodzaak om updates sneller uit te brengen. In het oude model wachtte de ene bibliotheek op de andere vanwege de uniforme pakketversie. AndroidX verwijderde deze blokkade en Jetpack begon elke 2-3 maanden grote en kleine releases te krijgen.

Verschil tussen AndroidX en Support Library

Het belangrijkste verschil is de naamruimte. Support Library gebruikte het pakket android.support.*, terwijl AndroidX overstapte naar androidx.*. Deze wijziging maakte het mogelijk bibliotheken op te splitsen in functionele modules. Bijvoorbeeld Fragment uit Support Library heette android.support.v4.app.Fragment, in AndroidX — androidx.fragment.app.Fragment.

Het tweede belangrijke verschil is de architectuur. AndroidX wordt geleverd met Jetpack — een set aanbevelingen voor applicatiearchitectuur. Jetpack omvat ViewModel, LiveData, Room, Navigation en WorkManager, die zijn ontworpen als één ecosysteem, niet als verspreide hulpprogramma's.

Achterwaartse compatibiliteit is ook verbeterd. Waar Support Library Android 2.3+ ondersteunde, garandeert AndroidX werking op apparaten met Android 4.0 (API 14) en hoger — dit dekt meer dan 99% van de actieve apparaten volgens Google Play Console 2024.

Samenstelling van AndroidX-bibliotheken

AndroidX omvat meer dan 100 bibliotheken, verdeeld in groepen. Elke groep is verantwoordelijk voor een specifiek gebied: UI, gegevens, navigatie, achtergrondtaken, multimedia en testen. Hieronder volgt een overzicht van de belangrijkste modules.

Core en basisbibliotheken

androidx.core:core — de basisbibliotheek die achterwaarts compatibele versies van systeem-API's bevat: NotificationCompat, ActivityCompat, ContextCompat. De module core-ktx biedt Kotlin-uitbreidingen voor het werken met bestanden, SharedPreferences en weergave-elementen.

De bibliotheek androidx.activity:activity introduceerde Activity Result API (registerForActivityResult), die de verouderde startActivityForResult verving. De module fragment:fragment beheert de levenscyclus van fragmenten en ondersteunt FragmentManager voor transacties en de terug-stack.

androidx.lifecycle — de basis van de Jetpack-architectuur. LifecycleOwner en LifecycleObserver stellen componenten in staat te reageren op veranderingen in de levenscyclus van Activity of Fragment. ViewModel behoudt gegevens bij schermrotatie, en LiveData stelt UI op de hoogte van gegevenswijzigingen.

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-bibliotheken

androidx.recyclerview:recyclerview — een krachtige component voor het weergeven van lijsten en rasters. RecyclerView ondersteunt LayoutManager (LinearLayoutManager, GridLayoutManager), ItemDecoration en animaties via ItemAnimator. De bibliotheek ListAdapter met AsyncListDiffer vereenvoudigt het bijwerken van lijsten met automatische diff-berekening.

androidx.navigation:navigation — de bibliotheek voor navigatie tussen schermen. Navigation Component werkt met NavHostFragment en NavController, ondersteunt Safe Args voor het doorgeven van getypeerde parameters en Deep Links voor externe links. NavGraph beschrijft alle routes in een XML-bestand.

androidx.compose.ui — het declaratieve UI-framework Jetpack Compose, gebouwd op Kotlin. In tegenstelling tot het View-systeem hertekent Compose alleen gewijzigde elementen via recomposition. Material Design 3-componenten (Button, TextField, Scaffold) zijn beschikbaar in de module material3.

BibliotheekArtefactDoel
Fragmentandroidx.fragmentBeheer van fragmenten en transacties
RecyclerViewandroidx.recyclerviewLijsten en rasters met optimalisatie
Navigationandroidx.navigationNavigatie tussen schermen
Compose UIandroidx.compose.uiDeclaratieve UI op Kotlin

Bibliotheken voor gegevensverwerking

androidx.room:room — ORM voor lokale gegevensopslag. Room genereert DAO-klassen uit geannoteerde SQLite-query's, controleert SQL-syntaxis tijdens compilatie en ondersteunt RxJava en Kotlin Flow. Versie 2.6 bevat ondersteuning voor KSP voor snellere codegeneratie.

androidx.work:workmanager — bibliotheek voor achtergrondtaken met gegarandeerde uitvoering. WorkManager ondersteunt periodieke taken, werkketens (beginWith, then) en startcriteria (Constraints: netwerk, opladen, geheugen). Zelfs als de app is gesloten, levert WorkManager de taak na het opnieuw opstarten van het apparaat.

androidx.datastore:datastore — moderne vervanging voor SharedPreferences. DataStore gebruikt Kotlin Coroutines en Flow, werkt synchroon en asynchroon, en elimineert blokkering van de UI-thread. Preferences DataStore slaat eenvoudige sleutel-waardeparen op, Proto DataStore — getypeerde objecten via Protocol Buffers.

Hoe migreer je naar AndroidX

Automatische migratie is de door Google aanbevolen manier om over te stappen van Support Library naar AndroidX. Android Studio vanaf versie 3.2 bevat de ingebouwde tool Refactor Migrate to AndroidX, die naamruimten vervangt en afhankelijkheden bijwerkt in build.gradle.

Voor de migratie moet je de compileSdk-versie bijwerken naar 28 of hoger. Zorg er ook voor dat alle externe bibliotheken AndroidX ondersteunen. Als een afhankelijkheid nog niet is gemigreerd, kun je de vlag android.enableJetifier=true gebruiken in gradle.properties — deze herschrijft automatisch de bytecode van externe bibliotheken.

Automatische migratie in Android Studio

Selecteer in Android Studio Refactor Migrate to AndroidX in het menu. De IDE scant het hele project, vindt alle imports uit het pakket android.support.* en vervangt ze door androidx.*. Ook worden de afhankelijkheden in app/build.gradle bijgewerkt — Support Library-artefacten worden vervangen door de overeenkomstige AndroidX-versies.

Na de migratie kan Gradle Sync fouten tonen als sommige afhankelijkheden niet zijn gevonden. Controleer de lijst met gebruikte bibliotheken in de documentatie van Google Maven — alle AndroidX-artefacten zijn gepubliceerd op google(). Als een bibliotheek niet beschikbaar is, voeg dan mavenCentral() toe aan repositories.

groovy
android {
    compileSdk 34
}

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

Handmatige migratie

Als het project te groot is of aangepaste Views uit Support Library bevat, kan automatische vervanging onvolledig zijn. Vervang handmatig alle strings in de code: wijzig imports, attributen in XML (app/src/main/res) en verwijzingen in het manifest. Voor Support Library-attributen verandert het voorvoegsel android: in app: (bijv. app:cardCornerRadius in plaats van android:cardCornerRadius).

Controleer na handmatige migratie de R-verwijzingen. Support Library exporteerde bronnen via android.support.v7.appcompat.R, AndroidX via androidx.appcompat.R. Voer een zoekopdracht uit in het project en vervang alle vermeldingen van oude R-paden. De projectbuild moet zonder fouten en deprecatiewaarschuwingen verlopen.

Voordelen van het gebruik van AndroidX

Het eerste voordeel van AndroidX is modulariteit. Je sluit alleen de bibliotheken aan die je daadwerkelijk gebruikt. Als de app alleen RecyclerView en Navigation nodig heeft, hoef je niet de hele Support Library met alle View-componenten mee te slepen. Dit verkleint de APK-grootte en versnelt de projectbuild.

Het tweede voordeel — regelmatige updates. Jetpack brengt elke 1-3 maanden stabiele releases uit. Room 2.6.0, uitgebracht in 2024, voegde ondersteuning voor KSP en Kotlin 2.0 toe. Navigation 2.8.0 introduceerde type-veilige routes op basis van Kotlinx Serialization. Ontwikkelaars krijgen nieuwe mogelijkheden zonder te wachten op de volgende Android-versie.

Het derde voordeel — integratie met Kotlin. Alle AndroidX-bibliotheken hebben -ktx-modules met extensiefuncties. viewLifecycleOwner.lifecycleScope start coroutines in de context van een fragment, collectLatest verwerkt Flow, en SharedFlow en StateFlow zijn volledig compatibel met Lifecycle-aware componenten. Dit maakt de code beknopter en veiliger.

Achterwaartse compatibiliteit — het belangrijkste voordeel van AndroidX ten opzichte van nieuwe platform-API's. Je kunt AppCompatDelegate.setDefaultNightMode gebruiken voor de donkere modus op Android 4.0+, NotificationCompat.setBubble voor bubbles op Android 5.0+ en LocationRequestCompat voor fused location op Android 4.0+. Het bereik van apparaten bereikt 99% zonder verhoging van de minimale SDK-versie.

Het vierde voordeel — testen. AndroidX bevat de bibliotheek androidx.test voor het schrijven van instrumentele en unittesten. FragmentScenario en ActivityScenario maken het mogelijk UI-componenten in isolatie te testen, en TestNavHostController — navigatie te controleren zonder een echt apparaat op te starten. MockK en Robolectric vullen het ecosysteem aan.

Veelgestelde vragen

Waarin verschilt AndroidX van Support Library?

AndroidX gebruikt de naamruimte androidx.* in plaats van android.support.*, heeft onafhankelijke versiebeheer (SemVer), bevat Jetpack-bibliotheken en ondersteunt Kotlin-uitbreidingen -ktx. Support Library is bevroren op versie 28.0.0 in 2019.

Hoe sluit ik AndroidX aan in een nieuw project?

Schakel in Android Studio de vlag Use AndroidX in bij het maken van het project. Voeg voor een bestaand project android.useAndroidX=true en android.enableJetifier=true toe aan gradle.properties. Vervang vervolgens de afhankelijkheden in build.gradle door artefacten uit de groep androidx.

Is migratie naar AndroidX verplicht?

Google Play vereist dat alle apps en updates AndroidX gebruiken. De ondersteuning voor Support Library is beëindigd en deze krijgt geen beveiligingspatches meer. Als je app nog niet is gemigreerd, kan dit leiden tot afwijzing van de update in Google Play Console.

Wat is Jetpack in Android?

Jetpack is een set bibliotheken, tools en aanbevelingen van Google voor het ontwikkelen van Android-apps. AndroidX vormt de basis van Jetpack. Jetpack omvat Architecture Components (Lifecycle, ViewModel, Room), UI (Compose, Fragment, RecyclerView) en Behavior (WorkManager, Navigation, CameraX).

Kan ik AndroidX gebruiken met Jetpack Compose?

Ja, Jetpack Compose zelf maakt deel uit van AndroidX (androidx.compose.ui). De bibliotheken ViewModel, Navigation, Room en WorkManager zijn volledig compatibel met Compose. De functies collectAsState() en collectAsStateWithLifecycle() zorgen voor integratie van Flow met Compose-functies.

Samenvatting

  • AndroidX — moderne set Jetpack-bibliotheken, opvolger van Support Library met semantische versiebeheer
  • Meer dan 100 modules dekken UI, gegevens, navigatie, achtergrondtaken, multimedia en testen
  • Automatische migratie in Android Studio vervangt imports en afhankelijkheden met enkele klikken
  • Kotlin-uitbreidingen -ktx verminderen boilerplate code en integreren met coroutines en Flow
  • Achterwaartse compatibiliteit met Android 4.0+ dekt 99% van de actieve apparaten
  • Jetpack combineert AndroidX met architectuuraanbevelingen — ViewModel, Room, Navigation, WorkManager
  • Gebruik AndroidX in alle nieuwe projecten — het is de industrienorm sinds 2019

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook