Materialliste verwenden

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.

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.