Malzeme Listesi Kullanma

Compose Bill of Materials (BOM) özelliği, tüm Compose kitaplığınızı yönetmenizi sağlar sürümünü belirterek yalnızca BOM’nin sürümü. BOM'da, birlikte iyi çalışacak şekilde farklı Compose kitaplıklarının kararlı sürümlerine bağlantılar bulunur. Uygulamanızda BOM'u kullanırken Compose kitaplığı bağımlılıklarına herhangi bir sürüm eklemeniz gerekmez. BOM sürümünü güncellediğinizde, kullandığınız tüm kitaplıklar otomatik olarak yeni sürümlerine güncellenir.

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2024.09.03")
    implementation(composeBom)
    testImplementation(composeBom)
    androidTestImplementation(composeBom)

    // Specify Compose library dependencies without a version definition
    implementation("androidx.compose.foundation:foundation")
    // ..
    testImplementation("androidx.compose.ui:ui-test-junit4")
    // ..
    androidTestImplementation("androidx.compose.ui:ui-test")
}

Eski

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom:2024.09.03')
    implementation composeBom
    testImplementation composeBom
    androidTestImplementation composeBom

    // Specify Compose library dependencies without a version definition
    implementation 'androidx.compose.foundation:foundation'
    // ..
    testImplementation 'androidx.compose.ui:ui-test-junit4'
    // ..
    androidTestImplementation 'androidx.compose.ui:ui-test'
}

Hangi Compose kitaplık sürümlerinin belirli bir BOM sürümüyle eşlendiğini öğrenmek için BOM ile kitaplık sürümü eşlemesi bölümüne bakın.

Compose derleyici kitaplığı neden BOM'a dahil edilmez?

Compose Kotlin derleyici uzantısı (androidx.compose.compiler), Compose kitaplığı sürümlerine bağlı değildir. Bunun yerine, Kotlin sürümleriyle bağlantılıdır derleyici eklentisidir ve Compose'un geri kalanından ayrı bir tempoda yayınlanır.

Kotlin 2.0 sürümünden itibaren, Compose uygulama derleyicisi Kotlin ile birlikte yönetilmektedir derleyicidir ve Kotlin derleyicisi ile aynı sürümü kullanır. Yapılandırma ayrıntıları için Compose Derleyici Gradle eklentisi başlıklı makaleyi inceleyin.

Kotlin 2.0'dan önce, uyumlu bir sürüm kullandığınızdan emin olmanız gerekir Kotlin sürümünüzle uyumlu olmasını sağlayın. Her biri ile eşlenen Kotlin sürümünü bulabilirsiniz. eklentisine yönelik Kotlin Uyumluluk Haritası'nda oluşturma ve Compose Compiler'da yapılandıracaksınız.

BOM'de belirtilenden farklı bir kitaplık sürümünü nasıl kullanabilirim?

build.gradle bağımlılıkları bölümünde BOM'nin içe aktarımını tutun. platformu. Kitaplık bağımlılığını içe aktarma işleminde geçersiz kılma sürümünü belirtin. Örneğin, nasıl beyan edeceğinizi animasyon kitaplığının yeni bir sürümünü kullanmak istiyorsanız bağımlılıkları kullanın. BOM'de hangi sürümün tanımlandığına bakmalısınız:

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2024.09.03")
    implementation(composeBom)

    // Override the BOM version when needed
    implementation("androidx.compose.animation:animation:1.8.0-alpha03")

    // ..
}

Eski

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform("androidx.compose:compose-bom:2024.09.03")
    implementation composeBom

    // Override the BOM version when needed
    implementation 'androidx.compose.animation:animation:1.8.0-alpha03'

    // ..
}

BOM, tüm Compose kitaplıklarını uygulamama otomatik olarak ekler mi?

Hayır. Compose kitaplıklarını uygulamanıza ekleyip kullanmak için her kitaplığı modül (uygulama düzeyi) Gradle dosyanızda (genellikle app/build.gradle) ayrı bir bağımlılık satırı olarak tanımlamanız gerekir.

BOM'yi kullandığınızda, uygulamanızdaki Compose kitaplıklarının sürümleri uyumlu olsa da BOM, bu Compose kitaplıklarını uygulamasını indirin.

Bundan sonra Compose kitaplıkları bağımsız olarak sürümlenecek. Yani sürüm numaraları kendi hızlarında artmaya başlayacak. En son her kitaplığın kararlı sürümleri birlikte test edilir. Ancak her kitaplığın en son kararlı sürümlerini bulmak zor olabilir. BOM, bu en son sürümleri otomatik olarak kullanmanıza yardımcı olur.

BOM'u kullanmak zorunda mıyım?

Hayır. Her bağımlı sürümünü manuel olarak eklemeyi seçebilirsiniz. Ancak, en son kararlı sürümlerin tümünü aynı anda kullanmayı kolaylaştıracağından BOM'u kullanmanızı öneririz.

BOM, sürüm kataloglarıyla çalışıyor mu?

Evet. BOM'u sürüm kataloğuna ekleyebilir ve diğer derleme kitaplığı sürümlerini atlayabilirsiniz:

[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }

BOM'yi modülünüzün build.gradle bölümüne içe aktarmayı unutmayın:

Kotlin

dependencies {
    val composeBom = platform(libs.androidx.compose.bom)
    implementation(composeBom)
    androidTestImplementation(composeBom)

    // import Compose dependencies as usual
}

Eski

dependencies {
    Dependency composeBom = platform(libs.androidx.compose.bom)
    implementation composeBom
    androidTestImplementation(composeBom)

    // import Compose dependencies as usual
}

Compose kitaplıklarının alfa veya beta sürümlerini denemek istersem ne olur?

Kullanabileceğiniz üç adet Oluşturma BOM'si vardır. Her BOM, Compose kitaplıklarının mevcut en son sürümlerinin belirli bir zamandaki anlık görüntüsüdür.

  • Kararlı: Her kitaplığın en son kararlı sürümlerini içerir
  • Beta: En son beta, sürüm adayı (RC) veya kararlı sürümlerini içerir her kitaplık
  • Alfa: Her kitaplığın en son alfa, beta, RC veya kararlı sürümlerini içerir

BOM'un alfa ve beta sürümleri, BOM yapı adı başına -alpha ve -beta eklenerek belirtilir. Kararlı sürümün son eki yoktur.

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom-alpha:2024.09.03")
    //            or platform("androidx.compose:compose-bom-beta:2024.09.03")
    implementation(composeBom)
    // ..
}

Eski

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2024.09.03')
    //                   or platform('androidx.compose:compose-bom-beta:2024.09.03')
    implementation composeBom
    // ..
}

Nasıl sorun bildirebilirim veya BOM ile ilgili geri bildirimde bulunabilirim?

Sorun izleyicimizde sorun bildirebilirsiniz.

ziyaret edin.