Ведомость материалов (BOM) Compose позволяет управлять всеми версиями библиотеки Compose, указывая только версию BOM. В самой спецификации есть ссылки на стабильные версии разных библиотек Compose, которые хорошо работают вместе. Если вы используете BOM в своем приложении, вам не нужно добавлять версию в зависимости библиотеки Compose. При обновлении версии BOM все используемые вами библиотеки автоматически обновляются до новых версий.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.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:2026.09.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 сопоставлены с определенной версией BOM, ознакомьтесь с сопоставлением версий BOM с версиями библиотек.
Почему библиотека Compose Compiler не включена в BOM?
Расширение компилятора Compose Kotlin (androidx.compose.compiler) не связано с версиями библиотеки Compose. Вместо этого он связан с версиями плагина компилятора Kotlin и выпускается отдельно от остальной части Compose.
Начиная с Kotlin 2.0 компилятор Compose управляется вместе с компилятором Kotlin и использует ту же версию, что и компилятор Kotlin. Подробную информацию о настройке можно найти в статье Плагин Compose Compiler Gradle.
Если вы используете версию Kotlin ниже 2.0, найдите версию компилятора, совместимую с вашей версией Kotlin, в таблице совместимости Compose и Kotlin. Инструкции по настройке компилятора можно найти в статье Компилятор Compose.
Как использовать версию библиотеки, отличную от указанной в BOM?
В разделе зависимостей build.gradle оставьте импорт платформы BOM. При импорте зависимости библиотеки укажите версию, которая будет использоваться вместо текущей. Например, вот как объявить зависимости, если вы хотите использовать более новую версию библиотеки анимации, независимо от того, какая версия указана в BOM:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.13.0-alpha03") // .. }
Яркий
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.13.0-alpha03' // .. }
Добавляет ли BOM все библиотеки Compose в мое приложение автоматически?
Нет. Чтобы добавить и использовать библиотеки Compose в приложении, необходимо объявить каждую библиотеку как отдельную строку зависимости в файле Gradle модуля (на уровне приложения), который обычно называется app/build.gradle.
BOM помогает проверить, совместимы ли версии библиотек Compose в вашем приложении, но не добавляет эти библиотеки в приложение.
Почему BOM является рекомендуемым способом управления версиями библиотеки Compose?
В дальнейшем версии библиотек Compose будут обновляться независимо друг от друга. Последние стабильные выпуски каждой библиотеки тестируются вместе. Однако найти последние стабильные версии каждой библиотеки может быть сложно, и BOM помогает вам автоматически использовать эти последние версии.
Обязательно ли использовать BOM?
Нет. Вы по-прежнему можете добавлять каждую версию зависимости вручную. Однако мы рекомендуем использовать BOM, поскольку это упростит одновременное использование всех последних стабильных версий.
Работает ли BOM с каталогами версий?
Да. Вы можете включить в каталог версий саму спецификацию и опустить другие версии библиотек Compose:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
Не забудьте импортировать BOM в файл build.gradle модуля:
Kotlin
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 }
Что делать, если я хочу попробовать альфа- или бета-версии библиотек Compose?
Доступны три BOM-файла Compose. Каждая спецификация представляет собой снимок последних доступных версий библиотек Compose на определенный момент времени.
- Стабильная – содержит последние стабильные версии каждой библиотеки.
- Бета-версия – содержит последние бета-версии, релиз-кандидаты или стабильные версии каждой библиотеки.
- Альфа-версия – содержит последние альфа-, бета-, RC- или стабильные версии каждой библиотеки.
Альфа- и бета-версии BOM указываются путем добавления -alpha и -beta к названию артефакта BOM. У стабильной версии суффикса нет.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2026.09.00") // or platform("androidx.compose:compose-bom-beta:2026.09.00") implementation(composeBom) // .. }
Яркий
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2026.09.00') // or platform('androidx.compose:compose-bom-beta:2026.09.00') implementation composeBom // .. }
Как сообщить о проблеме или оставить отзыв о BOM?
Вы можете сообщить о проблеме в нашей системе отслеживания ошибок.
Рекомендуем
- Примечание. Текст ссылки показывается, когда JavaScript отключен.
- Material Design 3 в Compose
- ConstraintLayout в Compose
- Ресурсы в Compose