Spec-Zone.ru › Kotlin 2

Обновление компилятора Compose

Компилятор Compose дополняется плагином Gradle, который упрощает настройку и предоставляет более удобный доступ к параметрам компилятора. При применении вместе с плагином Android Gradle (AGP) этот плагин компилятора Compose переопределяет координаты компилятора Compose, автоматически предоставляемого AGP.

Начиная с Kotlin 2.0.0, компилятор Compose включён в репозиторий Kotlin. Это упрощает переход ваших проектов на Kotlin 2.0.0 и более поздние версии: компилятор Compose выпускается одновременно с Kotlin и всегда совместим с Kotlin той же версии.

Настоятельно рекомендуется обновить приложение Compose Multiplatform, созданное с Kotlin 2.0.0, до версии 2.0.10 или более поздней. В компиляторе Compose 2.0.0 есть проблема: иногда он некорректно определяет стабильность типов в многоплатформенных проектах с целевыми платформами, отличными от JVM, что может привести к ненужным (или даже бесконечным) рекомпозициям.

Если ваше приложение собрано с компилятором Compose 2.0.10 или более поздней версии, но использует зависимости, собранные с компилятором Compose 2.0.0, эти старые зависимости всё ещё могут вызывать проблемы с рекомпозицией. Чтобы избежать этого, обновите зависимости до версий, собранных с той же версией компилятора Compose, что и приложение.

Чтобы использовать новый плагин компилятора Compose в проекте, примените его в каждом модуле, где используется Compose. Читайте далее о том, как перенести проект Compose Multiplatform. Информацию о проекте Jetpack Compose см. в руководстве по миграции.

Перенос проекта Compose Multiplatform

Начиная с Compose Multiplatform 1.6.10, необходимо применять плагин Gradle org.jetbrains.kotlin.plugin.compose в каждом модуле, где используется плагин org.jetbrains.compose:

  1. Добавьте плагин Gradle компилятора Compose в каталог версий Gradle:

    [versions]
    # ...
    kotlin = "2.4.20"
    compose-plugin = "1.12.0"
    
    [plugins]
    # ...
    jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
    kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
    compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
    
  2. Добавьте плагин Gradle в корневой файл build.gradle.kts:

    plugins {
     // ...
     alias(libs.plugins.jetbrainsCompose) apply false
     alias(libs.plugins.compose.compiler) apply false
    }
    
  3. Примените плагин в каждом модуле, где используется Compose Multiplatform:

    plugins { 
        // ...
        alias(libs.plugins.jetbrainsCompose)
        alias(libs.plugins.compose.compiler)
    }
    
  4. Если вы используете параметры компилятора Jetpack Compose, задайте их в блоке composeCompiler {}. Дополнительную информацию см. в разделе DSL параметров компилятора Compose.

Возможная проблема: «Отсутствует ресурс с путём»

При переходе с Kotlin 1.9.0 на 2.0.0 или с 2.0.0 на 1.9.0 может возникнуть следующая ошибка:

org.jetbrains.compose.resources.MissingResourceException: Missing resource with path: ...

Чтобы устранить эту проблему, удалите все каталоги build: в корне проекта и в каждом из модулей.

Что дальше

  • Ознакомьтесь с объявлением Google о переносе компилятора Compose в репозиторий Kotlin.

  • Дополнительную информацию см. в разделе DSL параметров компилятора Compose.

  • Чтобы перенести приложение Jetpack Compose, ознакомьтесь с документацией по компилятору Compose.

21 мая 2026 г.
Настройка области просмотраСовместимость и версии

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/compose-compiler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API