Как настроить плагин Gradle для компилятора Compose

Для Gradle используйте плагин Compose Compiler Gradle, чтобы настроить Compose.

Как настроить с помощью каталогов версий Gradle

Настройте плагин Gradle для компилятора Compose:

  1. В файле libs.versions.toml удалите все ссылки на компилятор Compose.
  2. В разделах versions и plugins добавьте новую зависимость:

    [versions]
    kotlin = "2.4.10"
    
    [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" }
    
  3. В корневом файле build.gradle.kts проекта добавьте в раздел plugins следующий код:

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler) apply false
    }
    
  4. В каждом модуле, использующем 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.4.10" // 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.4.10")
    }
}

Параметры конфигурации с плагином Gradle для компилятора Compose

Чтобы настроить компилятор 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.09.00.

Установите для флага compose значение true в файле Android BuildFeatures, чтобы включить функции Compose в Android Studio.

Добавьте в файл build.gradle своего приложения следующее определение:

Яркий

android {
    buildFeatures {
        compose true
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }
}

Добавьте Compose BOM и подмножество зависимостей библиотеки Compose:

Яркий

dependencies {

    def composeBom = platform('androidx.compose:compose-bom:2026.09.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.11.0'
    // Optional - Integration with LiveData
    implementation 'androidx.compose.runtime:runtime-livedata'
    // Optional - Integration with RxJava
    implementation 'androidx.compose.runtime:runtime-rxjava2'

}

Kotlin

dependencies {

    val composeBom = platform("androidx.compose:compose-bom:2026.09.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.11.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, поэтому при переходе на новые выпуски Compose также необходимо использовать новые версии плагина Android Gradle. Мы рекомендуем поддерживать актуальность compileSdk проекта, используя последние выпущенные версии. compileSdk не связано с targetSdk.

Например, начиная с версии Compose 1.12.0, в проектах необходимо использовать compileSdk 37 и плагин Android Gradle (AGP) 9.

Чтобы узнать, какая версия AGP поддерживается для разных уровней API, ознакомьтесь с документацией Поддержка уровня API плагина Android Gradle.