Compose Malzeme Listesi (BOM), yalnızca BOM'un sürümünü belirterek tüm Compose kitaplığı sürümlerinizi yönetmenize olanak tanır. BOM'un kendisi, farklı Compose kitaplıklarının kararlı sürümlerine bağlantılar içerir. Bu sayede, kitaplıklar birlikte sorunsuz çalışır. Uygulamanızda BOM kullanırken Compose kitaplığı bağımlılıklarına 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:2026.09.00") 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") }
Modern
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2026.09.00') 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' }
Belirli bir BOM sürümüyle eşlenen Compose kitaplığı sürümlerini öğrenmek için BOM'dan kitaplık sürümüne eşleme bölümüne göz atın.
Compose Compiler kitaplığı neden BOM'a dahil edilmiyor?
Compose Kotlin derleyici uzantısı (androidx.compose.compiler), Compose kitaplığı sürümlerine bağlı değildir. Bunun yerine, Kotlin derleyici eklentisinin sürümlerine bağlıdır ve Compose'un geri kalanından ayrı bir tempoda yayınlanır.
Kotlin 2.0'dan itibaren Compose derleyicisi, Kotlin derleyicisiyle birlikte yönetilir ve Kotlin derleyicisiyle aynı sürümü kullanır. Yapılandırma ayrıntıları için Compose Derleyici Gradle eklentisi bölümüne bakın.
Kotlin 2.0'dan önceki sürümlerde, Kotlin sürümünüzle uyumlu bir derleyici sürümü belirlemek için Compose'un Kotlin ile Uyumluluk Haritası'na bakın ve yapılandırmayla ilgili talimatlar için Compose Derleyicisi'ni inceleyin.
BOM'da belirtilenden farklı bir kitaplık sürümünü nasıl kullanabilirim?
build.gradle bağımlılıklar bölümünde, BOM platformunun içe aktarma işlemini olduğu gibi bırakın. Kitaplık bağımlılığı içe aktarma işleminde, geçersiz kılan sürümü belirtin. Örneğin,
BOM'da hangi sürüm belirtilmiş olursa olsun animasyon kitaplığının daha yeni bir sürümünü kullanmak istiyorsanız bağımlılıkları şu şekilde tanımlayabilirsiniz:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.13.0-alpha03") // .. }
Modern
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.13.0-alpha03' // .. }
BOM, tüm Compose kitaplıklarını uygulamama otomatik olarak ekler mi?
Hayır. Compose kitaplıklarını uygulamanıza eklemek ve kullanmak için her kitaplığı modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle app/build.gradle) ayrı bir bağımlılık satırı olarak tanımlamanız gerekir.
BOM'u kullanmak, uygulamanızdaki tüm Compose kitaplıklarının sürümlerinin uyumlu olduğunu doğrulamaya yardımcı olur ancak BOM, bu Compose kitaplıklarını uygulamanıza eklemez.
Oluşturma kitaplığı sürümlerini yönetmek için neden BOM önerilir?
Bundan sonra Compose kitaplıkları bağımsız olarak sürümlendirilecek. Yani sürüm numaraları kendi hızlarında artırılmaya başlayacak. Her kitaplığın en son kararlı sürümleri birlikte test edilir. Ancak her kitaplığın en son kararlı sürümlerini bulmak zor olabilir. BOM, bu en yeni sürümleri otomatik olarak kullanmanıza yardımcı olur.
BOM'u kullanmak zorunda mıyım?
Hayır. Her bağımlılık 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ğı için BOM'u kullanmanızı öneririz.
BOM, sürüm kataloglarıyla çalışır mı?
Evet. BOM'un kendisini sürüm kataloğuna ekleyebilir ve diğer Compose kitaplığı sürümlerini çıkarabilirsiniz:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
Modülünüzün build.gradle dosyasına BOM'u içe aktarmayı unutmayın:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
Modern
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 yapmalıyım?
Kullanılabilir üç Compose BOM'u vardır. Her BOM, Compose kitaplıklarının 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: Her kitaplığın en son beta, sürüm adayı (RC) veya kararlı sürümlerini içerir.
- 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ı sonuna -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:2026.09.00") // or platform("androidx.compose:compose-bom-beta:2026.09.00") implementation(composeBom) // .. }
Modern
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2026.09.00') // or platform('androidx.compose:compose-bom-beta:2026.09.00') implementation composeBom // .. }
BOM ile ilgili sorunları nasıl bildirebilir veya geri bildirimde bulunabilirim?
Sorunları Issue Tracker'ımızda bildirebilirsiniz.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Compose'da Materyal Tasarım 3
- Compose'da ConstraintLayout
- Compose'daki kaynaklar