AndroidX: apa itu, pustaka utama dan migrasi

Penulis: IT Sectr Diterbitkan: 2026-05-01 Waktu membaca: 8 mnt

AndroidX adalah kumpulan pustaka Jetpack dari Google yang menggantikan Support Library yang sudah usang. Menurut Google Developer Documentation, 2024, AndroidX menyediakan komponen yang kompatibel ke belakang untuk semua versi Android dan merupakan standar pengembangan Android modern. Pustaka AndroidX mencakup alat untuk UI, navigasi, bekerja dengan data, kamera, dan tugas latar belakang.

Poin utama

  • AndroidX — penerus Support Library, dirilis pada 2018 sebagai bagian dari Jetpack
  • Pustaka AndroidX tidak bergantung pada versi API dan bekerja pada perangkat dengan Android 4.0+
  • Migrasi dari Support Library dilakukan secara otomatis melalui Android Studio
  • Modul utama: Activity, Fragment, RecyclerView, Navigation, Room, WorkManager
  • Versioning semantik memungkinkan memperbarui pustaka secara independen satu sama lain

Apa itu AndroidX

AndroidX adalah pustaka sumber terbuka yang merupakan bagian dari Android Jetpack. Google merilis AndroidX pada tahun 2018 sebagai pengganti Support Library, yang sejak 2011 menyediakan komponen yang kompatibel ke belakang untuk versi lama Android.

Sebelum munculnya AndroidX, setiap komponen Support Library memiliki versinya sendiri yang terikat pada targetSdkVersion. Pengembang harus menghubungkan beberapa versi dari pustaka yang sama secara bersamaan, yang menyebabkan konflik dependensi dan peningkatan ukuran file APK.

AndroidX memecahkan masalah ini melalui versioning semantik (SemVer). Sekarang setiap pustaka adalah artefak Gradle terpisah dengan versi dalam format MAJOR.MINOR.PATCH. Pengembang dapat memperbarui Room dari 2.4.0 ke 2.6.0 tanpa menyentuh Activity, Fragment, atau modul lainnya.

Sejarah kemunculan AndroidX

Rilis stabil pertama AndroidX 1.0.0 terjadi pada Desember 2018 bersama dengan Android 9 Pie. Google mengumumkan bahwa Support Library beralih ke mode dukungan dan semua komponen baru — Navigation, WorkManager, Compose — akan dirilis hanya dalam komposisi AndroidX. Versi terakhir Support Library — 28.0.0 — dirilis pada tahun 2019.

Menurut Google I/O 2019, alasan utama peralihan adalah kebutuhan untuk mempercepat rilis pembaruan. Dalam model lama, satu pustaka menunggu yang lain karena versi paket yang seragam. AndroidX menghilangkan pemblokiran ini, dan Jetpack mulai menerima rilis mayor dan minor setiap 2-3 bulan.

Perbedaan AndroidX dari Support Library

Perbedaan utama adalah ruang nama. Support Library menggunakan paket android.support.*, sedangkan AndroidX beralih ke androidx.*. Perubahan ini memungkinkan pemisahan pustaka ke dalam modul fungsional. Misalnya, Fragment dari Support Library disebut android.support.v4.app.Fragment, dan di AndroidX — androidx.fragment.app.Fragment.

Perbedaan penting kedua adalah arsitektur. AndroidX dikirim bersama dengan Jetpack — seperangkat rekomendasi untuk arsitektur aplikasi. Jetpack mencakup ViewModel, LiveData, Room, Navigation, dan WorkManager, yang dirancang sebagai satu ekosistem, bukan sebagai utilitas yang terpisah-pisah.

Kompatibilitas ke belakang juga meningkat. Jika Support Library mendukung Android 2.3+, AndroidX menjamin pengoperasian pada perangkat dengan Android 4.0 (API 14) dan lebih tinggi — ini mencakup lebih dari 99% perangkat aktif menurut Google Play Console 2024.

Komposisi pustaka AndroidX

AndroidX mencakup lebih dari 100 pustaka yang dibagi ke dalam kelompok. Setiap kelompok bertanggung jawab atas area tertentu: UI, data, navigasi, tugas latar belakang, multimedia, dan pengujian. Di bawah ini adalah ikhtisar modul-modul utama.

Pustaka inti dan dasar

androidx.core:core — pustaka dasar yang berisi versi API sistem yang kompatibel ke belakang: NotificationCompat, ActivityCompat, ContextCompat. Modul core-ktx menyediakan ekstensi Kotlin untuk bekerja dengan file, SharedPreferences, dan elemen tampilan.

Pustaka androidx.activity:activity memperkenalkan Activity Result API (registerForActivityResult), yang menggantikan startActivityForResult yang sudah usang. Modul fragment:fragment mengelola siklus hidup fragmen dan mendukung FragmentManager untuk transaksi dan tumpukan kembali.

androidx.lifecycle — dasar arsitektur Jetpack. LifecycleOwner dan LifecycleObserver memungkinkan komponen bereaksi terhadap perubahan siklus hidup Activity atau Fragment. ViewModel menyimpan data saat rotasi layar, dan LiveData memberi tahu UI tentang perubahan data.

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

Pustaka UI

androidx.recyclerview:recyclerview — komponen yang kuat untuk menampilkan daftar dan kisi. RecyclerView mendukung LayoutManager (LinearLayoutManager, GridLayoutManager), ItemDecoration, dan animasi melalui ItemAnimator. Pustaka ListAdapter dengan AsyncListDiffer menyederhanakan pembaruan daftar dengan perhitungan diff otomatis.

androidx.navigation:navigation — pustaka untuk navigasi antar layar. Navigation Component bekerja dengan NavHostFragment dan NavController, mendukung Safe Args untuk mengirim parameter yang ditipkan dan Deep Links untuk tautan eksternal. NavGraph menggambarkan semua rute dalam file XML.

androidx.compose.ui — kerangka kerja UI deklaratif Jetpack Compose, dibangun di atas Kotlin. Berbeda dengan sistem View, Compose hanya menggambar ulang elemen yang berubah melalui recomposition. Komponen Material Design 3 (Button, TextField, Scaffold) tersedia di modul material3.

PustakaArtefakTujuan
Fragmentandroidx.fragmentManajemen fragmen dan transaksi
RecyclerViewandroidx.recyclerviewDaftar dan kisi dengan optimasi
Navigationandroidx.navigationNavigasi antar layar
Compose UIandroidx.compose.uiUI deklaratif di Kotlin

Pustaka untuk bekerja dengan data

androidx.room:room — ORM untuk penyimpanan data lokal. Room menghasilkan kelas DAO dari kueri SQLite yang dianotasi, memeriksa sintaks SQL pada tahap kompilasi, dan mendukung RxJava dan Kotlin Flow. Versi 2.6 mencakup dukungan untuk KSP untuk pembuatan kode yang lebih cepat.

androidx.work:workmanager — pustaka untuk tugas latar belakang dengan eksekusi terjamin. WorkManager mendukung tugas periodik, rantai kerja (beginWith, then), dan kriteria mulai (Constraints: jaringan, pengisian daya, memori). Bahkan jika aplikasi ditutup, WorkManager mengirimkan tugas setelah perangkat dihidupkan ulang.

androidx.datastore:datastore — pengganti modern untuk SharedPreferences. DataStore menggunakan Kotlin Coroutines dan Flow, bekerja secara sinkron dan asinkron, menghilangkan pemblokiran thread UI. Preferences DataStore menyimpan pasangan kunci-nilai sederhana, dan Proto DataStore — objek yang ditipkan melalui Protocol Buffers.

Cara migrasi ke AndroidX

Migrasi otomatis adalah cara yang direkomendasikan Google untuk beralih dari Support Library ke AndroidX. Android Studio mulai dari versi 3.2 menyertakan alat bawaan Refactor Migrate to AndroidX, yang mengganti ruang nama dan memperbarui dependensi di build.gradle.

Sebelum migrasi, Anda perlu memperbarui versi compileSdk ke 28 atau lebih tinggi. Juga pastikan semua pustaka pihak ketiga mendukung AndroidX. Jika beberapa dependensi belum dimigrasi, Anda dapat menggunakan flag android.enableJetifier=true di gradle.properties — flag ini secara otomatis menulis ulang bytecode pustaka pihak ketiga.

Migrasi otomatis di Android Studio

Di Android Studio, pilih Refactor Migrate to AndroidX dari menu. IDE akan memindai seluruh proyek, menemukan semua impor dari paket android.support.* dan menggantinya dengan androidx.*. Juga dependensi di app/build.gradle akan diperbarui — artefak Support Library akan diganti dengan versi AndroidX yang sesuai.

Setelah migrasi, Gradle Sync mungkin menunjukkan kesalahan jika beberapa dependensi tidak ditemukan. Periksa daftar pustaka yang digunakan di dokumentasi Google Maven — semua artefak AndroidX dipublikasikan di google(). Jika pustaka tidak tersedia, tambahkan mavenCentral() ke repositories.

groovy
android {
    compileSdk 34
}

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

Migrasi manual

Jika proyek terlalu besar atau berisi View kustom dari Support Library, penggantian otomatis mungkin tidak lengkap. Ganti secara manual semua string dalam kode: ubah impor, atribut dalam XML (app/src/main/res), dan referensi dalam manifes. Untuk atribut Support Library, awalan android: berubah menjadi app: (misalnya, app:cardCornerRadius bukan android:cardCornerRadius).

Setelah migrasi manual, periksa referensi R. Support Library mengekspor sumber daya melalui android.support.v7.appcompat.R, sedangkan AndroidX melalui androidx.appcompat.R. Jalankan pencarian di proyek dan ganti semua penyebutan jalur R lama. Pembangunan proyek harus berjalan tanpa kesalahan dan peringatan depresiasi.

Keuntungan menggunakan AndroidX

Keuntungan pertama AndroidX adalah modularitas. Anda hanya menghubungkan pustaka yang benar-benar digunakan. Jika aplikasi hanya membutuhkan RecyclerView dan Navigation, tidak perlu menarik seluruh Support Library dengan semua komponen View. Ini mengurangi ukuran APK dan mempercepat pembangunan proyek.

Keuntungan kedua — pembaruan rutin. Jetpack merilis versi stabil setiap 1-3 bulan. Room 2.6.0, dirilis pada tahun 2024, menambahkan dukungan untuk KSP dan Kotlin 2.0. Navigation 2.8.0 memperkenalkan rute yang aman tipenya berdasarkan serialisasi Kotlinx Serialization. Pengembang mendapatkan kemampuan baru tanpa menunggu versi Android berikutnya.

Keuntungan ketiga — integrasi dengan Kotlin. Semua pustaka AndroidX memiliki modul -ktx dengan fungsi ekstensi. viewLifecycleOwner.lifecycleScope meluncurkan korutin dalam konteks fragmen, collectLatest memproses Flow, dan SharedFlow serta StateFlow sepenuhnya kompatibel dengan komponen Lifecycle-aware. Ini membuat kode lebih ringkas dan aman.

Kompatibilitas ke belakang — keuntungan utama AndroidX dibandingkan API platform baru. Anda dapat menggunakan AppCompatDelegate.setDefaultNightMode untuk tema gelap di Android 4.0+, NotificationCompat.setBubble untuk gelembung di Android 5.0+, dan LocationRequestCompat untuk fused location di Android 4.0+. Cakupan perangkat mencapai 99% tanpa meningkatkan versi SDK minimum.

Keuntungan keempat — pengujian. AndroidX menyertakan pustaka androidx.test untuk menulis pengujian instrumental dan unit. FragmentScenario dan ActivityScenario memungkinkan pengujian komponen UI dalam isolasi, dan TestNavHostController — memeriksa navigasi tanpa menjalankan perangkat nyata. MockK dan Robolectric melengkapi ekosistem.

Pertanyaan yang sering diajukan

Apa perbedaan AndroidX dengan Support Library?

AndroidX menggunakan ruang nama androidx.* bukan android.support.*, memiliki versioning independen (SemVer), mencakup pustaka Jetpack, dan mendukung ekstensi Kotlin -ktx. Support Library dibekukan pada versi 28.0.0 pada tahun 2019.

Bagaimana cara menghubungkan AndroidX di proyek baru?

Di Android Studio, aktifkan flag Use AndroidX pada langkah pembuatan proyek. Untuk proyek yang sudah ada, tambahkan android.useAndroidX=true dan android.enableJetifier=true di gradle.properties. Kemudian ganti dependensi di build.gradle dengan artefak dari grup androidx.

Apakah migrasi ke AndroidX wajib?

Google Play mewajibkan semua aplikasi dan pembaruan menggunakan AndroidX. Dukungan untuk Support Library telah dihentikan dan tidak menerima perbaikan keamanan. Jika aplikasi Anda belum dimigrasi, ini dapat menyebabkan penolakan pembaruan di Google Play Console.

Apa itu Jetpack di Android?

Jetpack adalah kumpulan pustaka, alat, dan rekomendasi dari Google untuk pengembangan aplikasi Android. AndroidX adalah dasar dari Jetpack. Jetpack mencakup Architecture Components (Lifecycle, ViewModel, Room), UI (Compose, Fragment, RecyclerView), dan Behavior (WorkManager, Navigation, CameraX).

Bisakah AndroidX digunakan dengan Jetpack Compose?

Ya, Jetpack Compose sendiri adalah bagian dari AndroidX (androidx.compose.ui). Pustaka ViewModel, Navigation, Room, dan WorkManager sepenuhnya kompatibel dengan Compose. Fungsi collectAsState() dan collectAsStateWithLifecycle() menyediakan integrasi Flow dengan fungsi Compose.

Ringkasan

  • AndroidX — kumpulan pustaka Jetpack modern, penerus Support Library dengan versioning semantik
  • Lebih dari 100 modul mencakup UI, data, navigasi, tugas latar belakang, multimedia, dan pengujian
  • Migrasi otomatis di Android Studio mengganti impor dan dependensi dengan beberapa klik
  • Ekstensi Kotlin -ktx mengurangi kode boilerplate dan berintegrasi dengan korutin dan Flow
  • Kompatibilitas ke belakang dengan Android 4.0+ mencakup 99% perangkat aktif
  • Jetpack menggabungkan AndroidX dengan rekomendasi arsitektur — ViewModel, Room, Navigation, WorkManager
  • Gunakan AndroidX di semua proyek baru — ini standar industri sejak 2019

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga