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

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

Котлин

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2026.02.01")
    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.02.01')
    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 не включена в BOM?

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

Начиная с Kotlin 2.0, компилятор приложений Compose управляется параллельно с компилятором Kotlin и использует ту же версию, что и компилятор Kotlin. Подробности конфигурации см. в описании плагина Compose Compiler Gradle .

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

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

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

Котлин

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

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

    // ..
}

Классный

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

    // Override the BOM version when needed
    implementation 'androidx.compose.animation:animation:1.11.0-alpha06'

    // ..
}

Добавляет ли 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 вашего модуля:

Котлин

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. Каждый BOM представляет собой снимок последних доступных версий библиотек Compose на определенный момент времени.

  • Стабильная версия — содержит последние стабильные версии каждой библиотеки.
  • Бета-версия — содержит последние бета-версии, версии-кандидаты (RC) или стабильные версии каждой библиотеки.
  • Alpha — содержит последние альфа-, бета-, RC- или стабильные версии каждой библиотеки.

Альфа- и бета-версии спецификации материалов (BOM) указываются путем добавления суффиксов -alpha и -beta к имени артефакта BOM. Стабильная версия не имеет суффикса.

Котлин

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

Классный

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2026.02.01')
    //                   or platform('androidx.compose:compose-bom-beta:2026.02.01')
    implementation composeBom
    // ..
}

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

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

{% verbatim %} {% endverbatim %} {% verbatim %} {% endverbatim %}