Использование спецификации материалов

Составление спецификации (BOM) позволяет вам управлять всеми версиями библиотеки Compose, указав только версию спецификации. Сама спецификация содержит ссылки на стабильные версии различных библиотек Compose, поэтому они хорошо работают вместе. При использовании спецификации в вашем приложении вам не нужно добавлять какую-либо версию в сами зависимости библиотеки Compose. Когда вы обновляете версию спецификации, все используемые вами библиотеки автоматически обновляются до новых версий.

Котлин

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2024.06.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")
}

классный

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom:2024.06.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'
}

Чтобы узнать, какие версии библиотеки Compose сопоставлены с конкретной версией спецификации, проверьте сопоставление версий спецификации с библиотекой .

Почему библиотека Compose Compiler не включена в спецификацию?

Расширение компилятора Compose Kotlin (androidx.compose.compiler) не связано с версиями библиотеки Compose. Вместо этого он связан с версиями плагина компилятора Kotlin и выпускается отдельно от остальной части Compose, поэтому обязательно используйте версию, совместимую с вашей версией Kotlin. Вы можете найти версию Kotlin, соответствующую каждой версии плагина, на странице Compose to Kotlin Compatibility Map .

Как использовать версию библиотеки, отличную от указанной в спецификации?

В разделе зависимостей build.gradle сохраните импорт платформы BOM. При импорте зависимостей библиотеки укажите нужную версию. Например, вот как объявить зависимости, если вы хотите использовать более новую версию библиотеки анимации, независимо от того, какая версия указана в спецификации:

Котлин

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2024.06.00")
    implementation(composeBom)

    // Override the BOM version when needed
    implementation("androidx.compose.animation:animation:1.7.0-beta05")

    // ..
}

классный

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform("androidx.compose:compose-bom:2024.06.00")
    implementation composeBom

    // Override the BOM version when needed
    implementation 'androidx.compose.animation:animation:1.7.0-beta05'

    // ..
}

Добавляет ли спецификация автоматически все библиотеки Compose в мое приложение?

Нет. Чтобы фактически добавлять и использовать библиотеки Compose в вашем приложении, вы должны объявить каждую библиотеку как отдельную строку зависимости в файле Gradle вашего модуля (на уровне приложения) (обычно app/build.gradle).

Использование спецификации гарантирует совместимость версий любых библиотек Compose в вашем приложении, но спецификация фактически не добавляет эти библиотеки Compose в ваше приложение.

В будущем библиотеки Compose будут иметь независимые версии, а это означает, что номера версий начнут увеличиваться в своем собственном темпе. Последние стабильные версии каждой библиотеки протестированы и гарантированно хорошо работают вместе. Однако найти последние стабильные версии каждой библиотеки может быть сложно, и спецификация помогает автоматически использовать эти последние версии.

Должен ли я использовать спецификацию?

Нет. Вы по-прежнему можете добавить каждую версию зависимости вручную. Однако мы рекомендуем использовать спецификацию, поскольку это облегчит одновременное использование всех последних стабильных версий.

Работает ли спецификация с каталогами версий?

Да. Вы можете включить саму спецификацию в каталог версий и исключить другие версии библиотеки Compose:

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

Не забудьте импортировать спецификацию в build.gradle вашего модуля:

Котлин

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

    // import Compose dependencies as usual
}

классный

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

    // import Compose dependencies as usual
}

Как сообщить о проблеме или оставить отзыв о спецификации?

Вы можете сообщать о проблемах в нашем трекере проблем .

{% дословно %} {% дословно %} {% дословно %} {% дословно %}