Gradle sürümü katalogları, bağımlılıkları ve eklentileri ölçeklenebilir bir şekilde ekleyip yönetmenizi sağlar. Gradle sürüm kataloglarını kullanmak, birden fazla modüle sahip olduğunuzda 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ına gömmek ve bir bağımlılığı yükseltmeniz gerektiğinde her bir girişi güncellemek yerine, Android Studio yardımı ile çeşitli modüllerin tür açısından güvenli bir şekilde başvurabileceği bağımlılıkların merkezi bir sürüm kataloğu oluşturabilirsiniz.
Bu sayfada, Android uygulamanızı sürüm kataloglarına taşıma hakkında temel bilgiler sağlanmaktadır. Daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne ve Gradle dokümanlarına bakın.
Sürüm kataloğu dosyası oluşturma
Bir 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 şu şekilde kullanılır:
versions
bloğunda, bağımlılıklarınızın ve eklentilerinizin sürümlerini barındıran değişkenleri tanımlayın. Bu değişkenleri sonraki bloklarda (libraries
veplugins
bloklarında) kullanırsınız.libraries
bloğunda bağımlılıklarınızı tanımlayın.plugins
bloğunda eklentilerinizi tanımlayın.
Taşıma adımları
Bu adımları, verilen sırayla uygulamanızı öneririz. Bir derleme, derleme komut dosyaları ve kataloglardaki bağımlılıkları ve eklentileri aynı anda tüketebilir. Bu nedenle, zaman ayırıp bağımlılıklarınızı ve eklentilerinizi tek tek taşıyın.
Taşıma süreci şu şekildedir:
- Yeni girişi kataloğa ekleyin.
- Android projenizi senkronize edin.
- Önceki dize bildirimini, katalog türü güvenli erişimciyle değiştirin.
Bağımlılıkları taşıyın
libs.versions.toml
dosyasının hem versions
hem de libraries
bölümlerinde her bağımlılık için bir giriş ekleyin. Projenizi senkronize edin ve ardından derleme dosyalarındaki bildirimlerini katalog adlarıyla değiştirin.
Bu kod snippet'i, bağımlılığı kaldırmadan önce 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" }
Kataloglarda bağımlılık bloku için önerilen adlandırma yöntemi, derleme dosyalarınızda daha iyi kod tamamlama yardımı sunmak amacıyla kebab case'dir (ör. androidx-ktx
).
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şı
libs.versions.toml
dosyasının hem sürümlerde 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 yer alan bildirimlerini, katalog adlarıyla değiştirin.
Bu kod snippet'i, eklenti kaldırılmadan önce 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, sürüm kataloğu dosyasında eklentinin 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ı elde edebilmeniz için plugins
blok katalog girişleri için önerilen biçimlendirme, kebap durumu (ör. android-application
) şeklindedir.
Aşağıdaki kod, üst ve modül düzeyindeki build.gradle.kts
dosyalarında com.android.application
eklentisinin nasıl tanımlanacağını gösterir. Sürüm kataloğu dosyasından gelen eklentiler için alias
, kural eklentileri gibi sürüm kataloğu dosyasından gelmeyen 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 ek seçenekler hakkında bilgi edinmek için şu kaynaklara bakın:
- Sürüm kataloğu TOML dosyası biçimi, katalog dosyanızın yapılandırılmasına ilişkin ek seçenekleri belgeler.
- Now in Android, sürüm kataloglarını kullanan örnek uygulamamızdır.
Bilinen sorunlar
Gradle sürümü katalogları hâlâ geliştirme aşamasındadır. Henüz desteklenmeyenler hakkında daha fazla bilgi için bilinen sorunlar ve sınırlamalar bölümüne bakın.