Gradle sürüm katalogları, bağımlılıkları ve eklentileri ölçeklenebilir bir şekilde ekleyip yönetmenize olanak tanır. Gradle sürüm kataloglarını kullanmak, birden fazla modülünüz olduğunda bağımlılıkları ve eklentileri yönetmeyi kolaylaştırır. Bağımlılık adlarını ve sürümlerini ayrı derleme dosyalarında sabit kodlamak ve bir bağımlılığı yükseltmeniz gerektiğinde her girişi güncellemek yerine, Android Studio yardımıyla çeşitli modüllerin türe göre güvenli bir şekilde referans verebileceği bağımlılıkların merkezi bir sürüm kataloğunu oluşturabilirsiniz.
Bu sayfada, Android uygulamanızı sürüm kataloglarına taşıma hakkında temel bilgiler verilmektedir. Daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme başlıklı makaleyi ve Gradle dokümanlarını inceleyin.
Sürüm kataloğu dosyası oluşturma
Sürüm kataloğu dosyası oluşturarak başlayın. Kök projenizin gradle klasöründe libs.versions.toml adlı bir dosya oluşturun. Gradle, kataloğu varsayılan olarak libs.versions.toml dosyasında arar. Bu nedenle, bu varsayılan adı kullanmanızı öneririz.
libs.versions.toml dosyanıza şu bölümleri ekleyin:
[versions]
[libraries]
[plugins]
Bölümler aşağıdaki şekilde kullanılır:
versionsbloğunda, bağımlılıklarınızın ve eklentilerinizin sürümlerini içeren değişkenleri tanımlayın. Bu değişkenleri sonraki bloklarda (librariesvepluginsblokları) kullanırsınız.librariesbloğunda bağımlılıklarınızı tanımlayın.pluginsbloğunda eklentilerinizi tanımlayın.
Taşıma adımları
Adımları listelenen sırayla uygulamanızı öneririz. Bir derleme, derleme komut dosyalarından ve kataloglardan bağımlılıkları ve eklentileri aynı anda kullanabilir. Bu nedenle, bağımlılıklarınızı ve eklentilerinizi tek tek taşımak için zaman ayırın.
Taşıma süreci şu şekildedir:
- Yeni girişi kataloğa ekleyin.
- Android projenizi senkronize edin.
- Önceki dize bildirimini, kataloğun tip güvenli erişimcisiyle değiştirin.
Bağımlılıkları taşıma
libs.versions.toml dosyasının hem versions hem de libraries bölümlerine her bağımlılık için bir giriş ekleyin. Projenizi senkronize edin ve derleme dosyalarındaki bildirimlerini katalog adlarıyla değiştirin.
Bu kod snippet'i, bağımlılık kaldırılmadan önceki build.gradle.kts dosyasını gösterir:
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
Modern
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
Bu kod snippet'i, sürüm kataloğu dosyasında bağımlılığın nasıl tanımlanacağını gösterir:
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
Derleme dosyalarınızda daha iyi kod tamamlama yardımı için kataloglardaki bağımlılıklar bloğunun tireli (ör. androidx-ktx) olarak adlandırılması önerilir.
Bağımlılık gerektiren her modülün build.gradle.kts dosyasında, bağımlılıkları TOML dosyasında tanımladığınız adlarla tanımlayın.
Kotlin
dependencies { implementation(libs.androidx.ktx) }
Modern
dependencies { implementation libs.androidx.ktx }
Eklentileri taşıma
libs.versions.toml dosyasının hem sürümler hem de eklentiler bölümlerinde her eklenti için bir giriş ekleyin. Projenizi senkronize edin ve ardından derleme dosyalarındaki plugins{} bloğunda bulunan bildirimlerini katalog adlarıyla değiştirin.
Bu kod snippet'i, eklenti kaldırılmadan önceki build.gradle.kts dosyasını gösterir:
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") }
Modern
// 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' }
Bu kod snippet'i, eklentinin sürüm kataloğu dosyasında nasıl tanımlanacağını gösterir:
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
Bağımlılıklarda olduğu gibi, derleme dosyalarınızda daha iyi kod tamamlama yardımı için plugins blok kataloğu girişlerinde önerilen biçimlendirme, tireli yazım (ör. android-application) şeklindedir.
Aşağıdaki kodda, com.android.application eklentisinin üst ve modül düzeyindeki build.gradle.kts dosyalarında nasıl tanımlanacağı gösterilmektedir. Sürüm kataloğu dosyasından gelen eklentiler için alias, sürüm kataloğu dosyasından gelmeyen eklentiler (ör. geleneksel eklentiler) için id kullanın.
Kotlin
// Top-level build.gradle.kts plugins { alias(libs.plugins.android.application) apply false } // module build.gradle.kts plugins { alias(libs.plugins.android.application) }
Modern
// Top-level build.gradle plugins { alias libs.plugins.android.application apply false } // module build.gradle plugins { alias libs.plugins.android.application }
Daha fazla bilgi
Sürüm kataloğunuzu yapılandırmayla ilgili diğer seçenekler hakkında bilgi edinmek için aşağıdaki kaynaklara göz atın:
- Sürüm kataloğu TOML dosya biçimi, katalog dosyanızı yapılandırmak için ek seçenekleri belgeler.
- Now in Android, sürüm kataloglarını kullanan örnek uygulamamızdır.