Używanie listy materiałów

Zestawienie materiałów (BOM) Compose umożliwia zarządzanie wszystkimi wersjami biblioteki Compose przez określenie tylko wersji BOM. Samo zestawienie materiałów zawiera linki do stabilnych wersji różnych bibliotek Compose, dzięki czemu dobrze ze sobą współpracują. Gdy używasz zestawienia materiałów w aplikacji, nie musisz dodawać żadnej wersji do zależności biblioteki Compose. Gdy zaktualizujesz wersję zestawienia materiałów, wszystkie używane 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.03.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.03.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 sprawdzić, które wersje biblioteki Compose są powiązane z konkretną wersją zestawienia materiałów, zapoznaj się z mapowaniem wersji zestawienia materiałów na wersje bibliotek.

Dlaczego biblioteka kompilatora Compose nie jest uwzględniona w zestawieniu materiałów?

Rozszerzenie kompilatora Kotlin Compose (androidx.compose.compiler) nie jest powiązane z wersjami biblioteki Compose. Jest ono powiązane z wersjami wtyczki kompilatora Kotlin i wydawane w innym tempie niż reszta Compose.

Od wersji Kotlin 2.0 kompilator aplikacji Compose jest zarządzany razem z kompilatorem Kotlin i używa tej samej wersji co kompilator Kotlin. Szczegóły konfiguracji znajdziesz w artykule Wtyczka Gradle kompilatora Compose for

W wersjach starszych niż Kotlin 2.0 zapoznaj się z mapą zgodności Compose z Kotlinem aby znaleźć wersję kompilatora zgodną z Twoją wersją Kotlin, a następnie zapoznaj się z artykułem Kompilator Compose aby uzyskać wskazówki dotyczące jego konfiguracji.

Jak używać innej wersji biblioteki niż ta, która jest określona w zestawieniu materiałów?

W sekcji zależności build.gradle zachowaj import platformy zestawienia materiałów. W imporcie zależności biblioteki określ wersję zastępującą. Oto na przykład, jak zadeklarować zależności, jeśli chcesz używać nowszej wersji biblioteki animacji, niezależnie od wersji określonej w zestawieniu materiałów:

Kotlin

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

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

    // ..
}

Dynamiczny

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

    // Override the BOM version when needed
    implementation 'androidx.compose.animation:animation:1.11.0-beta01'

    // ..
}

Czy zestawienie materiałów automatycznie dodaje do mojej aplikacji wszystkie biblioteki Compose?

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

Używanie zestawienia materiałów pomaga sprawdzić, czy wersje bibliotek Compose w aplikacji są zgodne, ale zestawienie materiałów nie dodaje tych bibliotek do aplikacji.

W przyszłości biblioteki Compose będą wersjonowane niezależnie, co oznacza, że numery wersji będą zwiększane w różnym tempie. Najnowsze stabilne wersje każdej biblioteki są testowane razem. Znalezienie najnowszych stabilnych wersji każdej biblioteki może być jednak trudne, a zestawienie materiałów pomaga automatycznie używać tych najnowszych wersji.

Czy muszę używać zestawienia materiałów?

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

Czy zestawienie materiałów działa z katalogami wersji?

Tak. Możesz uwzględnić samo zestawienie materiałów 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" }

Nie zapomnij zaimportować zestawienia materiałów 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 zestawienia materiałów Compose. Każde zestawienie materiałó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 stabilne każdej biblioteki.
  • Alfa – zawiera najnowsze wersje alfa, beta, RC lub stabilne każdej biblioteki.

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

Kotlin

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

Dynamiczny

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

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

Problemy możesz zgłaszać w naszym narzędziu do rejestrowania błędów.