Derlemenizi sürüm kataloglarına taşıma

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 ve plugins 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:

  1. Yeni girişi kataloğa ekleyin.
  2. Android projenizi senkronize edin.
  3. Ö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:

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.