Для настройки и конфигурирования Compose используйте плагин Compose Compiler Gradle.
Настройка с использованием каталогов версий Gradle.
Настройте плагин Compose Compiler для Gradle:
- В файле
libs.versions.tomlудалите все ссылки на компилятор Compose. В разделах
versionsиpluginsдобавьте новую зависимость:[versions] kotlin = "2.3.21" [plugins] org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } // Add this line compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }В корневой файл
build.gradle.ktsпроекта добавьте следующее в разделplugins.plugins { // Existing plugins alias(libs.plugins.compose.compiler) apply false }В каждом модуле, использующем Compose, примените плагин:
plugins { // Existing plugins alias(libs.plugins.compose.compiler) }
Теперь проект должен собраться и скомпилироваться, если использовались настройки по умолчанию. Если же были заданы пользовательские параметры компилятора Compose, перейдите к следующему разделу.
Настройка компилятора Compose без каталогов версий Gradle.
Добавьте плагин в файлы build.gradle.kts , связанные с модулями, в которых используется Compose:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" // this version matches your Kotlin version
}
Добавьте путь к классам в файл build.gradle.kts вашего проекта верхнего уровня:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.21")
}
}
Параметры конфигурации плагина Compose Compiler Gradle
Для настройки компилятора Compose с помощью плагина Gradle добавьте блок composeCompiler в файл build.gradle.kts модуля на самом верхнем уровне:
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
Полный список доступных опций см. в документации .
Настройка зависимостей Compose
Всегда используйте последнюю версию Compose BOM: 2026.06.00 .
Установите флаг compose в true в файле Android BuildFeatures , чтобы включить функциональность Compose в Android Studio.
Добавьте следующее определение в файл build.gradle вашего приложения:
Классный
android {
buildFeatures {
compose true
}
}
Котлин
android {
buildFeatures {
compose = true
}
}
Добавьте BOM Compose и подмножество зависимостей библиотеки Compose:
Классный
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.06.00')
implementation composeBom
androidTestImplementation composeBom
// Choose one of the following:
// Material Design 3
implementation 'androidx.compose.material3:material3'
// or skip Material Design and build directly on top of foundational components
implementation 'androidx.compose.foundation:foundation'
// or only import the main APIs for the underlying toolkit systems,
// such as input and measurement/layout
implementation 'androidx.compose.ui:ui'
// Android Studio Preview support
implementation 'androidx.compose.ui:ui-tooling-preview'
debugImplementation 'androidx.compose.ui:ui-tooling'
// UI Tests
androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
debugImplementation 'androidx.compose.ui:ui-test-manifest'
// Optional - Add window size utils
implementation 'androidx.compose.material3.adaptive:adaptive'
// Optional - Integration with activities
implementation 'androidx.activity:activity-compose:1.13.0'
// Optional - Integration with ViewModels
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0'
// Optional - Integration with LiveData
implementation 'androidx.compose.runtime:runtime-livedata'
// Optional - Integration with RxJava
implementation 'androidx.compose.runtime:runtime-rxjava2'
}
Котлин
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2026.06.00")
implementation(composeBom)
androidTestImplementation(composeBom)
// Choose one of the following:
// Material Design 3
implementation("androidx.compose.material3:material3")
// or skip Material Design and build directly on top of foundational components
implementation("androidx.compose.foundation:foundation")
// or only import the main APIs for the underlying toolkit systems,
// such as input and measurement/layout
implementation("androidx.compose.ui:ui")
// Android Studio Preview support
implementation("androidx.compose.ui:ui-tooling-preview")
debugImplementation("androidx.compose.ui:ui-tooling")
// UI Tests
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-test-manifest")
// Optional - Add window size utils
implementation("androidx.compose.material3.adaptive:adaptive")
// Optional - Integration with activities
implementation("androidx.activity:activity-compose:1.13.0")
// Optional - Integration with ViewModels
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0")
// Optional - Integration with LiveData
implementation("androidx.compose.runtime:runtime-livedata")
// Optional - Integration with RxJava
implementation("androidx.compose.runtime:runtime-rxjava2")
}
Совместимость compileSdk и плагином Android Gradle
В новых версиях библиотеки Compose постоянно используются последние версии compileSdk для обеспечения доступа к новейшим функциям Android. Более новые версии compileSdk требуют более новых версий Android Gradle Plugin, поэтому переход на новые версии Compose также требует от проектов использования новых версий Android Gradle Plugin. Мы рекомендуем поддерживать compileSdk вашего проекта в актуальном состоянии, используя последние выпущенные версии. compileSdk не связан с targetSdk .
Например, начиная с Compose 1.12.0, для проектов требуется использовать compileSdk 37 и Android Gradle Plugin (AGP) 9.
Чтобы узнать, какая версия AGP поддерживается для разных уровней API, см. документацию по поддержке уровней API плагинов Android Gradle .