Mit der Compose-BOM (Bill of Materials, Stückliste) können Sie alle Versionen Ihrer Compose-Bibliotheken verwalten, indem Sie nur die Version der BOM angeben. Die Stückliste selbst enthält Links zu den stabilen Versionen der verschiedenen Compose-Bibliotheken, sodass sie gut zusammenarbeiten. Wenn Sie die BOM in Ihrer App verwenden, müssen Sie den Compose-Bibliotheksabhängigkeiten selbst keine Version hinzufügen. Wenn Sie die BOM-Version aktualisieren, werden alle Bibliotheken, die Sie verwenden, automatisch auf die neuen Versionen aktualisiert.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.05.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") }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2025.05.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' }
Welche Compose-Bibliotheksversionen einer bestimmten BOM-Version zugeordnet sind, erfahren Sie unter BOM-Version zu Bibliotheksversion.
Warum ist die Compose Compiler-Bibliothek nicht im BOM enthalten?
Die Compose Kotlin-Compilererweiterung (androidx.compose.compiler) ist nicht mit den Compose-Bibliotheksversionen verknüpft. Stattdessen ist es mit Versionen des Kotlin-Compiler-Plug-ins verknüpft und wird in einem separaten Rhythmus als der Rest von Compose veröffentlicht.
Ab Kotlin 2.0 wird der Compose-App-Compiler zusammen mit dem Kotlin-Compiler 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 darauf achten, dass Sie eine Version verwenden, die mit Ihrer Kotlin-Version kompatibel ist. Die Kotlin-Version, die jeder Version des Plug-ins entspricht, finden Sie unter Compose to Kotlin Compatibility Map. Informationen zur Konfiguration finden Sie unter Compose Compiler.
Wie verwende ich eine andere Bibliotheksversion als die in der BOM angegebene?
Behalten Sie im Abschnitt build.gradle
-Abhängigkeiten den Import der BOM-Plattform bei. Geben Sie beim Import der Bibliotheksabhä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:2025.05.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.9.0-alpha02") // .. }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2025.05.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.9.0-alpha02' // .. }
Werden durch die BOM automatisch alle Compose-Bibliotheken zu meiner App hinzugefügt?
Nein. Wenn Sie Compose-Bibliotheken in Ihrer App hinzufügen und verwenden möchten, müssen Sie jede Bibliothek als separate Abhängigkeitszeile in der Gradle-Datei Ihres Moduls (auf App-Ebene) deklarieren (in der Regel „app/build.gradle“).
Durch die Verwendung der BOM wird sichergestellt, dass die Versionen aller Compose-Bibliotheken in Ihrer App kompatibel sind. Die BOM fügt Ihrer App jedoch nicht diese Compose-Bibliotheken hinzu.
Warum ist die BOM die empfohlene Methode zum Verwalten von Compose-Bibliotheksversionen?
Compose-Bibliotheken werden künftig unabhängig versioniert. Das bedeutet, dass die Versionsnummern in ihrem eigenen Tempo erhöht werden. Die neuesten stabilen Releases der einzelnen Bibliotheken werden gemeinsam getestet. Es kann jedoch schwierig sein, die neuesten stabilen Versionen jeder Bibliothek zu finden. Die BOM hilft Ihnen, diese neuesten Versionen automatisch zu verwenden.
Muss ich die BOM verwenden?
Nein. Sie können weiterhin jede Abhängigkeitsversion manuell hinzufügen. Wir empfehlen jedoch, das BOM zu verwenden, da es die Verwendung aller aktuellen stabilen Versionen gleichzeitig erleichtert.
Funktioniert die BOM mit Versionskatalogen?
Ja. Sie können die BOM selbst in den Versionskatalog aufnehmen und die anderen Compose-Bibliotheksversionen weglassen:
[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 das 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 verfügbare Compose-BOMs. Jede BOM ist ein Snapshot der neuesten verfügbaren Versionen von Compose-Bibliotheken zu einem bestimmten Zeitpunkt.
- Stabil: Enthält die neuesten stabilen Versionen jeder Bibliothek.
- Beta: Enthält die neuesten Beta-, Release-Kandidaten- (RC) oder stabilen Versionen der einzelnen Bibliotheken.
- 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 BOM-Artefaktnamen angegeben. Die stabile Version hat kein Suffix.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2025.05.00") // or platform("androidx.compose:compose-bom-beta:2025.05.00") implementation(composeBom) // .. }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2025.05.00') // or platform('androidx.compose:compose-bom-beta:2025.05.00') implementation composeBom // .. }
Wie kann ich ein Problem melden oder Feedback zur Stückliste geben?
Sie können Probleme in unserer Problemverfolgung melden.
Empfehlungen für dich
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Material Design 3 in Compose
- ConstraintLayout in Compose
- Ressourcen in Compose