Lista materiałów do Compose (BOM) umożliwia zarządzanie wszystkimi wersjami biblioteki Compose przez określenie tylko wersji BOM. Sam plik BOM zawiera linki do stabilnych wersji różnych bibliotek Compose, które są ze sobą dobrze zintegrowane. Korzystając z pliku BOM w aplikacji, nie musisz dodawać żadnej wersji do zależności biblioteki Compose. Gdy zaktualizujesz wersję pliku BOM, wszystkie używane przez Ciebie biblioteki zostaną automatycznie zaktualizowane do ich nowych wersji.
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.02.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") }
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2025.02.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ę pliku BOM, zapoznaj się z mapowaniem wersji pliku BOM na wersje biblioteki.
Dlaczego w BOM nie ma biblioteki kompilatora tworzenia wiadomości?
Rozszerzenie do kompilatora Compose Kotlin (androidx.compose.buildr) nie jest połączone z wersjami biblioteki Compose. Jest ona zamiast tego powiązana z wersjami wtyczki kompilatora Kotlin i publikowana w odrębnych odstępach czasowych od reszty 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 na temat wtyczki do Gradle kompilatora Compose.
Przed wersją Kotlin 2.0 musisz użyć wersji zgodnej z Twoją wersją Kotlina. Wersję Kotlina odpowiadającą każdej wersji wtyczki znajdziesz na stronie Mapa zgodności Compose z Kotlinem, a informacje o jej konfiguracji znajdziesz na stronie Kompilator Compose.
Jak użyć innej wersji biblioteki niż wskazana w BOM?
W sekcji zależności build.gradle
zachowaj importowanie platformy BOM. Podczas importowania zależności biblioteki określ wersję zastępującą. Oto jak zadeklarować zależności, jeśli chcesz użyć nowszej wersji biblioteki animacji, niezależnie od tego, jaka wersja jest wyznaczona w BOM:
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.02.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.8.0-beta02") // .. }
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2025.02.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.8.0-beta02' // .. }
Czy plik BOM automatycznie dodaje do mojej aplikacji wszystkie biblioteki Compose?
Nie. Aby dodać do aplikacji biblioteki Compose i z nich korzystać, 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 zapewnia zgodność wersji bibliotek Compose w aplikacji, ale BOM nie dodaje tych bibliotek do aplikacji.
Dlaczego plik BOM jest zalecanym sposobem zarządzania wersjami biblioteki w Compose?
W przyszłości wersje bibliotek Compose będą tworzone niezależnie, co oznacza, że numery wersji będą zwiększane we własnym tempie. Najnowsze stabilne wersje każdej biblioteki są testowane razem. Jednak znalezienie najnowszych stabilnych wersji każdej biblioteki może być trudne, a BOM pomaga automatycznie korzystać z najnowszych wersji.
Czy muszę używać pliku BOM?
Nie. Nadal możesz dodać każdą wersję zależności ręcznie. Zalecamy jednak używanie pliku BOM, ponieważ ułatwia to korzystanie z najnowszych stabilnych wersji jednocześnie.
Czy plik BOM działa z katalogami wersji?
Tak. Dokument BOM możesz umieścić w katalogu wersji i pominąć pozostałe wersje biblioteki tworzenia wiadomości:
[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ć listy materiałowej do build.gradle
w module:
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
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 listy materiałów do tworzenia. Każda BOM to migawka z najnowszej wersji bibliotek Compose.
- Stabilna – zawiera najnowsze stabilne wersje każdej biblioteki
- Beta – zawiera najnowsze wersje beta, wersje kandydata (RC) i stabilne każdej biblioteki.
- Alpha – zawiera najnowsze wersje alfa, beta, RC lub stabilne każdej biblioteki.
Wersje alfa i beta pliku BOM są określane przez dodanie -alpha
i -beta
do nazwy artefaktu BOM. Wersja stabilna nie ma sufiksu.
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2025.02.00") // or platform("androidx.compose:compose-bom-beta:2025.02.00") implementation(composeBom) // .. }
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2025.02.00') // or platform('androidx.compose:compose-bom-beta:2025.02.00') implementation composeBom // .. }
Jak zgłosić problem lub przesłać opinię na temat BOM?
Problemy możesz zgłaszać za pomocą naszego narzędzia do śledzenia problemów.
Obecnie nie ma rekomendacji.
Zaloguj się na swoje konto Google.