Katalog versi Gradle memungkinkan Anda menambahkan dan mengelola dependensi serta plugin dengan cara yang skalabel. Penggunaan katalog versi Gradle mempermudah pengelolaan dependensi dan plugin jika Anda memiliki beberapa modul. Daripada melakukan hardcode nama dan versi dependensi dalam setiap file build dan mengupdate setiap entri setiap kali Anda perlu mengupgrade dependensi, Anda dapat membuat katalog versi pusat dependensi yang dapat dirujuk oleh beragam modul dengan cara yang aman melalui bantuan Android Studio.
Halaman ini memberikan informasi dasar tentang memigrasikan aplikasi Android Anda ke katalog versi. Untuk mempelajari lebih lanjut, lihat Menambahkan dependensi build dan dokumentasi Gradle.
Membuat file katalog versi
Mulailah dengan membuat file katalog versi. Di folder gradle
project root, buat file dengan nama libs.versions.toml
. Gradle mencari katalog dalam file libs.versions.toml
secara default, jadi sebaiknya gunakan nama default ini.
Di file libs.versions.toml
, tambahkan bagian berikut:
[versions]
[libraries]
[plugins]
Bagian ini digunakan sebagai berikut:
- Di blok
versions
, tentukan variabel yang menyimpan versi dependensi dan plugin Anda. Anda menggunakan variabel ini dalam blok berikutnya (bloklibraries
danplugins
). - Di blok
libraries
, tentukan dependensi Anda. - Di blok
plugins
, tentukan plugin Anda.
Langkah migrasi
Sebaiknya lakukan langkah-langkah sesuai daftar yang diurutkan. Build dapat menggunakan dependensi dan plugin dari skrip dan katalog build secara bersamaan, sehingga diperlukan waktu untuk memigrasikan dependensi dan plugin satu per satu.
Proses migrasinya adalah:
- Tambahkan entri baru ke katalog.
- Sinkronkan project Android Anda.
- Ganti deklarasi string sebelumnya dengan pengakses keamanan jenis katalog.
Memigrasikan dependensi
Tambahkan entri untuk setiap dependensi di bagian versions
dan libraries
file libs.versions.toml
. Sinkronkan project Anda, lalu ganti deklarasinya di file build dengan nama katalognya.
Cuplikan kode ini menampilkan file build.gradle.kts
sebelum menghapus
dependensi:
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
Groovy
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
Cuplikan kode ini menunjukkan cara menentukan dependensi dalam file katalog versi:
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
Penamaan yang direkomendasikan untuk blok dependensi dalam katalog adalah kasus kebab (seperti
androidx-ktx
) untuk meningkatkan kualitasnya
bantuan penyelesaian kode
dalam file build Anda.
Dalam file build.gradle.kts
setiap modul yang memerlukan dependensi,
tentukan dependensi dengan nama yang Anda tentukan dalam file TOML.
Kotlin
dependencies { implementation(libs.androidx.ktx) }
Groovy
dependencies { implementation libs.androidx.ktx }
Memigrasikan plugin
Tambahkan entri untuk setiap plugin di versi dan bagian plugin
file libs.versions.toml
. Sinkronkan project Anda, lalu ganti deklarasinya di blok plugins{}
dalam file build dengan nama katalognya.
Cuplikan kode ini menampilkan file build.gradle.kts
sebelum menghapus
plugin:
Kotlin
// Top-level `build.gradle.kts` file plugins { id("com.android.application") version "7.4.1" apply false } // Module-level `build.gradle.kts` file plugins { id("com.android.application") }
Groovy
// Top-level `build.gradle` file plugins { id 'com.android.application' version '7.4.1' apply false } // Module-level `build.gradle` file plugins { id 'com.android.application' }
Cuplikan kode ini menunjukkan cara menentukan plugin dalam file katalog versi:
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
Seperti dependensi, format yang direkomendasikan untuk katalog blok plugins
entri adalah kapitalisasi kebab (seperti android-application
) agar lebih baik
bantuan penyelesaian kode
dalam file build Anda.
Kode berikut menunjukkan cara menentukan plugin com.android.application
di
file build.gradle.kts
level atas dan modul. Gunakan alias
untuk plugin
yang berasal dari file katalog versi danid
untuk plugin yang tidak berasal
dari file katalog versi, seperti
plugin konvensi.
Kotlin
// Top-level build.gradle.kts plugins { alias(libs.plugins.android.application) apply false } // module build.gradle.kts plugins { alias(libs.plugins.android.application) }
Groovy
// Top-level build.gradle plugins { alias libs.plugins.android.application apply false } // module build.gradle plugins { alias libs.plugins.android.application }
Pelajari lebih lanjut
Untuk mempelajari opsi tambahan guna mengonfigurasi katalog versi, lihat referensi berikut:
- Format file TOML katalog versi mendokumentasikan opsi tambahan untuk mengkonfigurasi file katalog Anda.
- Now in Android adalah contoh aplikasi kami yang menggunakan katalog versi.
Masalah umum
Katalog versi Gradle masih dalam pengembangan aktif. Untuk mengetahui info selengkapnya tentang hal yang belum didukung, lihat masalah dan batasan umum.