Mit der Compose Bill of Materials (BOM) können Sie Ihre gesamte Compose-Bibliothek verwalten Versionen durch Angabe von nur die Version der BOM. Die BOM selbst enthält Links zu den stabilen Versionen der Compose-Bibliotheken kombinieren lassen. Wenn Sie die BOM in Ihrer App verwenden, müssen Sie den Compose-Bibliotheksabhängigkeiten keine Version hinzufügen. Wenn Sie die BOM-Version ist, werden alle von Ihnen verwendeten Bibliotheken automatisch aktualisiert. auf ihre neuen Versionen.
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") }
Groovy
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' }
Informationen dazu, welche Compose-Bibliotheksversionen einer bestimmten BOM-Version zugeordnet sind, finden Sie in der Zuordnung von BOM-Versionen zu Bibliotheksversionen.
Warum ist die Compose Compiler-Bibliothek nicht in der BOM enthalten?
Die Compiler-Erweiterung Compose Kotlin (androidx.compose.compiler) ist nicht verknüpft zu den Compose-Bibliotheksversionen. Stattdessen sind sie mit Kotlin-Versionen verknüpft. Compiler-Plug-in und wird in einem anderen Rhythmus als der Rest von Compose veröffentlicht.
Ab Kotlin 2.0 wird der Compose-App-Compiler zusammen mit dem Kotlin-Code verwaltet. und verwendet dieselbe Version wie der Kotlin-Compiler. Weitere Informationen zur Konfiguration finden Sie unter Compose Compiler Gradle-Plug-in.
Vor Kotlin 2.0 müssen Sie eine kompatible Version verwenden. durch Ihre Kotlin-Version. Die Kotlin-Version, die der jeweiligen Version des Plug-ins zugeordnet ist, finden Sie in der Kompatibilitätsübersicht von Compose und Kotlin. Informationen zur Konfiguration finden Sie im Compose-Compiler.
Wie verwende ich eine andere Bibliotheksversion als die im BOM angegebene?
Behalten Sie im Abschnitt build.gradle
„Abhängigkeiten“ den Import der BOM-Plattform bei. Geben Sie beim Import der Bibliothekabhängigkeit die überschreibende Version an. So deklarieren Sie beispielsweise Abhängigkeiten, wenn Sie eine neuere Version der Animationsbibliothek verwenden möchten, unabhängig davon, welche Version in der BOM angegeben ist:
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") // .. }
Cool
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' // .. }
Werden meiner App durch die BOM automatisch alle Compose-Bibliotheken hinzugefügt?
Nein. Damit du deiner App Textbibliotheken hinzufügen und diese verwenden kannst, musst du sie jeweils deklarieren Bibliothek als separate Abhängigkeitszeile in der Gradle-Datei Ihres Moduls (auf App-Ebene) (normalerweise „app/build.gradle“).
Durch die Verwendung der BOM wird sichergestellt, dass die Versionen aller Erstellungsbibliotheken in Ihrer App kompatibel, aber die BOM fügt diese Textbibliotheken nicht
Warum wird die BOM empfohlen, um Versionen der Compose-Bibliothek zu verwalten?
Künftig werden Compose-Bibliotheken unabhängig versioniert. Das bedeutet, Die Versionsnummern werden in ihrem eigenen Tempo erhöht. Die neuesten stabilen Releases der einzelnen Bibliotheken werden gemeinsam getestet. Es kann jedoch schwierig sein, die neuesten stabilen Versionen der einzelnen Bibliotheken zu finden. Mit dem BOM können Sie diese neuesten Versionen automatisch verwenden.
Muss ich die Stückliste verwenden?
Nein. Sie können jede Abhängigkeitsversion manuell hinzufügen. Wir empfehlen jedoch, die BOM zu verwenden, da Sie so alle aktuellen stabilen Versionen gleichzeitig verwenden können.
Funktioniert die Stückliste mit Versionskatalogen?
Ja. Sie können die BOM selbst in den Versionskatalog aufnehmen und die anderen Compose-Bibliotheksversionen auslassen:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
Vergessen Sie nicht, die BOM in die build.gradle
Ihres Moduls zu importieren:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
Groovy
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
Was ist, wenn ich Alpha- oder Betaversionen von Compose-Bibliotheken ausprobieren möchte?
Es gibt drei Compose-BOMs. Jede BOM ist eine Momentaufnahme zu einem bestimmten Zeitpunkt der neuesten verfügbaren Versionen von Compose-Bibliotheken.
- Stabil: Enthält die neuesten stabilen Versionen der einzelnen Bibliotheken.
- Beta – enthält aktuelle Betaversion, Release Candidate (RC) oder stabile Versionen von jede Bibliothek
- Alpha: enthält die neuesten Alpha-, Beta-, RC- oder stabilen Versionen jeder Bibliothek
Die Alpha- und Betaversionen der BOM werden durch Hinzufügen von -alpha
und
-beta
zum Namen des BOM-Artefakts. Die stabile Version hat kein Suffix.
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) // .. }
Cool
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 // .. }
Wie kann ich ein Problem melden oder Feedback zur Stückliste geben?
Probleme können Sie über unseren Issue Tracker melden.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Material Design 3 in Compose
- ConstraintLayout in Compose
- Ressourcen in Compose