Materialliste verwenden

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

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.