メインコンテンツまでスキップ

Compose コンパイラ移行ガイド

Composeコンパイラーは、セットアップを簡素化し、コンパイラーオプションへのアクセスを容易にするGradleプラグインによって補完されます。 このComposeコンパイラープラグインをAndroid Gradleプラグイン(AGP)と共に適用すると、AGPによって自動的に提供されるComposeコンパイラーの座標がオーバーライドされます。

Composeコンパイラーは、Kotlin 2.0.0以降、Kotlinリポジトリにマージされました。 これにより、ComposeコンパイラーがKotlinと同時に提供され、常に同じバージョンのKotlinと互換性があるため、プロジェクトのKotlin 2.0.0以降への移行がスムーズになります。

新しいComposeコンパイラープラグインをプロジェクトで使用するには、Composeを使用する各モジュールに適用します。 詳細については、Jetpack Composeプロジェクトの移行をお読みください。Compose Multiplatformプロジェクトについては、multiplatform移行ガイドを参照してください。

Jetpack Composeプロジェクトの移行

Kotlin 1.9からKotlin 2.0.0以降に移行する場合は、Composeコンパイラーの処理方法に応じて、プロジェクト構成を調整する必要があります。 Kotlin GradleプラグインとComposeコンパイラーGradleプラグインを使用して、構成管理を自動化することをお勧めします。

Gradleプラグインを使用したComposeコンパイラーの管理

Androidモジュールの場合:

  1. ComposeコンパイラーGradleプラグインをGradleバージョンカタログに追加します。
[versions]
# ...
kotlin = "2.1.20"

[plugins]
# ...
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  1. Gradleプラグインをルートbuild.gradle.ktsファイルに追加します。
plugins {
// ...
alias(libs.plugins.compose.compiler) apply false
}
  1. Jetpack Composeを使用するすべてのモジュールにプラグインを適用します。
plugins {
// ...
alias(libs.plugins.compose.compiler)
}
  1. Jetpack Composeコンパイラーのコンパイラーオプションを使用している場合は、composeCompiler {}ブロックで設定します。 参照用にコンパイラーオプションのリストを参照してください。

  2. Composeコンパイラーアーティファクトを直接参照している場合は、これらの参照を削除して、Gradleプラグインに処理させることができます。

Gradleプラグインを使用しないComposeコンパイラーの使用

Gradleプラグインを使用してComposeコンパイラーを管理していない場合は、プロジェクト内の古いMavenアーティファクトへの直接参照を更新してください。

  • androidx.compose.compiler:compilerorg.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddableに変更します。
  • androidx.compose.compiler:compiler-hostedorg.jetbrains.kotlin:kotlin-compose-compiler-pluginに変更します。

次のステップ