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

Gradle sürüm katalogları, bağımlılıkları ve eklentileri ölçeklenebilir bir şekilde eklemenize ve bakımını yapmanıza 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 tek tek derleme dosyalarına sabit kodlamak ve bir bağımlılığı yükseltmeniz gerektiğinde her girişi güncellemek yerine, çeşitli modüllerin Android Studio yardımıyla tür güvenli bir şekilde başvurabileceği 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 verilmektedir. Daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme ve Gradle belgelerine bakın.

Sürüm kataloğu dosyası oluşturma

Öncelikle bir sürüm kataloğu dosyası oluşturun. 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:

  • versions bloğ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 (libraries ve plugins blokları) 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ı

Adımları belirtilen sırayla uygulamanızı öneririz. Derlemeler, derleme komut dosyalarındaki ve kataloglardaki bağımlılıkları ve eklentileri aynı anda kullanabilir. Bu nedenle, bağımlılıklarınızı ve eklentilerinizi ayrı ayrı taşımak için zaman ayırın.

Taşıma süreci:

  1. Yeni girişi kataloga 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şı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 ardından derleme dosyalarındaki bildirimlerini katalog adlarıyla değiştirin.

Bu kod snippet'i, bağımlılık kaldırılmadan önce build.gradle.kts dosyasını gösterir:

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")

}

Groovy

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'

}

Bu kod snippet'i, bağımlılığın versioncatalog dosyasında nasıl tanımlanacağını gösterir:

[versions]
ktx = "1.9.0"

[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }

Kataloglardaki bağımlılıklar bloğu için önerilen adlandırma, derleme dosyalarınızda daha iyi kod tamamlama yardımı için 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)

}

Groovy

dependencies {
   implementation libs.androidx.ktx

}

Eklentileri taşıma

libs.versions.toml dosyasının hem sürümler hem de eklentiler bölümlerine 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")

}

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'

}

Bu kod snippet'inde, eklentinin sürüm kataloğu dosyasında nasıl tanımlanacağı gösterilmektedir:

[versions]
androidGradlePlugin = "7.4.1"

[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

Bağımlılıklarda olduğu gibi, plugins blok kataloğu girişleri için önerilen biçimlendirme, derleme dosyalarınızda daha iyi kod tamamlama yardımı sağlamak amacıyla kebab case'dir (ör. android-application).

Aşağıdaki kodda, com.android.application eklentisinin üst düzey 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 için (ör. kural eklentileri) 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)

}

Groovy

// 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 aşağıdaki kaynaklara göz atın: