Verwendung der Materialliste

Mit der Funktion „Compose Bill of Materials“ (BOM) können Sie alle Versionen Ihrer Compose-Bibliothek verwalten, indem Sie nur die BOM-Version angeben. Die BOM selbst enthält Links zu den stabilen Versionen der verschiedenen Compose-Bibliotheken, die gut zusammen funktionieren. Wenn Sie die BOM in Ihrer Anwendung verwenden, müssen Sie den Abhängigkeiten der Compose-Bibliothek selbst keine Version hinzufügen. Wenn Sie die BOM-Version aktualisieren, werden alle verwendeten Bibliotheken automatisch auf ihre neuen Versionen aktualisiert.

Informationen dazu, welche Versionen der Compose-Bibliothek einer bestimmten BOM-Version zugeordnet sind, finden Sie unter Zuordnung von BOM zu Bibliotheksversionen.

Warum ist die Compose Compiler-Bibliothek nicht in der BOM enthalten?

Die Compiler-Erweiterung Compose Kotlin (androidx.compose.compiler) ist nicht mit den Versionen der Compose-Bibliothek verknüpft. Stattdessen ist es mit Versionen des Kotlin-Compiler-Plug-ins verknüpft und in einem anderen Rhythmus als der Rest von Compose veröffentlicht. Verwenden Sie also eine Version, die mit Ihrer Kotlin-Version kompatibel ist. Die Kotlin-Version, die den einzelnen Versionen des Plug-ins zugeordnet ist, finden Sie unter Compose to Kotlin Compatibility Map.

Wie verwende ich eine andere Version der Bibliothek als die in der Stückliste angegebene?

Behalten Sie im Abschnitt build.gradle-Abhängigkeiten den Import der BOM-Plattform bei. Geben Sie im Import der Bibliotheksabhängigkeiten die gewünschte Version an. So können Sie beispielsweise Abhängigkeiten deklarieren, wenn Sie unabhängig von der in der BOM angegebenen Version eine Alphaversion von Material 3 verwenden möchten:

dependencies {
    // Import the Compose BOM
    implementation platform('androidx.compose:compose-bom:2024.04.01')

    // Import Material Design 3 library
    implementation 'androidx.compose.material3:material3:1.1.2'

    // Import other Compose libraries without version numbers
    // ..
    implementation 'androidx.compose.foundation:foundation'
}

Werden meiner App in der BOM automatisch alle Mediatheken für das Schreiben hinzugefügt?

Nein. Um Compose-Bibliotheken in Ihrer App hinzuzufügen und zu verwenden, müssen Sie jede Bibliothek als separate Abhängigkeitszeile in der Gradle-Datei des Moduls (auf App-Ebene) deklarieren (in der Regel „app/build.gradle“).

Mit der BOM wird sichergestellt, dass die Versionen aller Compose-Bibliotheken in Ihrer Anwendung kompatibel sind. Die BOM fügt diese Compose-Bibliotheken jedoch nicht Ihrer Anwendung hinzu.

In Zukunft werden Compose-Bibliotheken unabhängig versioniert. Das bedeutet, dass die Versionsnummern in ihrem eigenen Tempo erhöht werden. Die neuesten stabilen Releases jeder Bibliothek wurden getestet und funktionieren optimal zusammen. Es kann jedoch schwierig sein, die neuesten stabilen Versionen einer Bibliothek zu finden. Die BOM hilft Ihnen dabei, 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 die Verwendung der BOM, da es die gleichzeitige Nutzung aller aktuellen stabilen Versionen erleichtert.

Funktioniert die BOM mit Versionskatalogen?

Ja. Sie können die BOM selbst in den Versionskatalog aufnehmen und die anderen Versionen der Composer-Bibliothek weglassen:

[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }

Vergiss nicht, die BOM in den build.gradle deines Moduls zu importieren:

dependencies {
    val composeBom = platform(libs.androidx.compose.bom)
    implementation(composeBom)
    androidTestImplementation(composeBom)

    // import Compose dependencies as usual
}

Wie kann ich ein Problem melden oder Feedback zur BOM geben?

Sie können Probleme in unserer Problemverfolgung melden.