Используйте спецификацию

Ведомость материалов (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 в вашем приложении, но не добавляет эти библиотеки в приложение.

В дальнейшем версии библиотек 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?

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