Używanie listy materiałów

Zestawienie komponentów (BOM) Compose umożliwia zarządzanie wszystkimi wersjami biblioteki Compose przez określenie tylko wersji BOM. Sam BOM zawiera linki do stabilnych wersji różnych bibliotek Compose, dzięki czemu dobrze ze sobą współpracują. Jeśli używasz w aplikacji zestawienia komponentów, nie musisz dodawać żadnej wersji do zależności biblioteki Compose. Gdy zaktualizujesz wersję BOM, wszystkie używane przez Ciebie biblioteki zostaną automatycznie zaktualizowane do nowych wersji.

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")
}

Dynamiczny

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'
}

Aby dowiedzieć się, które wersje biblioteki Compose są mapowane na konkretną wersję BOM, zapoznaj się z mapowaniem BOM na wersję biblioteki.

Dlaczego biblioteka kompilatora Compose nie jest uwzględniona w pliku BOM?

Rozszerzenie kompilatora Compose Kotlin (androidx.compose.compiler) nie jest połączone z wersjami biblioteki Compose. Zamiast tego jest powiązana z wersjami wtyczki kompilatora Kotlin i jest wydawana w innym cyklu niż reszta Compose.

Od wersji Kotlin 2.0 kompilator Compose jest zarządzany razem z kompilatorem Kotlin i używa tej samej wersji co kompilator Kotlin. Szczegółowe informacje o konfiguracji znajdziesz w artykule o wtyczce Gradle kompilatora Compose.

W przypadku wersji starszych niż Kotlin 2.0 zapoznaj się z mapą zgodności Compose z Kotlinem, aby znaleźć wersję kompilatora zgodną z Twoją wersją Kotlina. Instrukcje dotyczące konfigurowania znajdziesz w artykule Kompilator Compose.

Jak używać innej wersji biblioteki niż ta określona w BOM?

W sekcji zależności build.gradle zachowaj import platformy BOM. W importie zależności biblioteki określ wersję zastępującą. Jeśli na przykład chcesz używać nowszej wersji biblioteki animacji, niezależnie od wersji określonej w pliku BOM, możesz zadeklarować zależności w ten sposób:

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")

    // ..
}

Dynamiczny

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'

    // ..
}

Czy BOM automatycznie dodaje do aplikacji wszystkie biblioteki Compose?

Nie. Aby dodać biblioteki Compose do aplikacji i ich używać, musisz zadeklarować każdą z nich jako osobną linię zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle).

Korzystanie z BOM pomaga sprawdzić, czy wersje bibliotek Compose w aplikacji są zgodne, ale BOM nie dodaje tych bibliotek do aplikacji.

Od teraz biblioteki Compose będą miały niezależne wersje, co oznacza, że numery wersji będą zwiększane we własnym tempie. Najnowsze stabilne wersje każdej biblioteki są testowane razem. Znalezienie najnowszych stabilnych wersji każdej biblioteki może być jednak trudne, a BOM pomaga automatycznie korzystać z najnowszych wersji.

Czy muszę używać BOM?

Nie. Nadal możesz dodawać każdą wersję zależności ręcznie. Zalecamy jednak używanie zestawienia komponentów, ponieważ ułatwi to jednoczesne korzystanie ze wszystkich najnowszych wersji stabilnych.

Czy BOM działa z katalogami wersji?

Tak. Możesz uwzględnić BOM w katalogu wersji i pominąć inne wersje biblioteki Compose:

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

Pamiętaj, aby zaimportować BOM w pliku build.gradle modułu:

Kotlin

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

    // import Compose dependencies as usual
}

Dynamiczny

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

    // import Compose dependencies as usual
}

Co zrobić, jeśli chcę wypróbować wersje alfa lub beta bibliotek Compose?

Dostępne są 3 pliki BOM Compose. Każde zestawienie komponentów to migawka najnowszych dostępnych wersji bibliotek Compose.

  • Stabilna – zawiera najnowsze stabilne wersje każdej biblioteki.
  • Beta – zawiera najnowsze wersje beta, wersje kandydujące do publikacji (RC) lub wersje stabilne każdej biblioteki.
  • Alpha – zawiera najnowsze wersje alfa, beta, RC lub stabilne każdej biblioteki.

Wersje alfa i beta zestawienia komponentów są określane przez dodanie -alpha i -beta do nazwy artefaktu zestawienia komponentów. Wersja stabilna nie ma sufiksu.

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)
    // ..
}

Dynamiczny

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
    // ..
}

Jak zgłosić problem lub przesłać opinię na temat zestawienia komponentów?

Problemy możesz zgłaszać w naszym narzędziu Issue Tracker.