12.3.1 Compose 编译器迁移指南
2 分钟阅读
原文链接: https://kotlinlang.org/docs/compose-compiler-migration-guide.html
12.3.1 Compose 编译器迁移指南
Compose 编译器由一个 Gradle 插件作为补充,该插件简化了设置,并让编译器选项更易访问。当它与 Android Gradle 插件(AGP)一起应用时,这个 Compose 编译器插件会覆盖 AGP 自动提供的 Compose 编译器的坐标。
从 Kotlin 2.0.0 开始,Compose 编译器已合并到 Kotlin 仓库中。这有助于让项目更平滑地迁移到 Kotlin 2.0.0 及更高版本,因为 Compose 编译器与 Kotlin 同步发布,并且始终与相同版本的 Kotlin 兼容。
要在项目中使用新的 Compose 编译器插件,请为每个使用 Compose 的模块应用它。继续阅读以了解如何迁移 Jetpack Compose 项目的细节。对于 Compose Multiplatform 项目,请参阅多平台迁移指南。
迁移 Jetpack Compose 项目
从 1.9 迁移到 Kotlin 2.0.0 或更新版本时,你应当根据自己处理 Compose 编译器的方式调整项目配置。我们建议使用 Kotlin Gradle 插件和 Compose 编译器 Gradle 插件来自动管理配置。
用 Gradle 插件管理 Compose 编译器
对于 Android 模块:
- 把 Compose 编译器 Gradle 插件添加到 Gradle 版本目录:
| |
注意: 如果你使用 AGP 9.0.0 或更高版本,就不再需要
org-jetbrains-kotlin-android插件了,因为 AGP 内置了 Kotlin 支持。
- 把该 Gradle 插件添加到根
build.gradle.kts文件中:
| |
- 把该插件应用到每个使用 Jetpack Compose 的模块:
| |
如果你在为 Jetpack Compose 编译器使用编译器选项,请在
composeCompiler {}块中设置它们。可参考编译器选项列表。如果你直接引用了 Compose 编译器构件,可以移除这些引用,交由 Gradle 插件处理。
不使用 Gradle 插件时使用 Compose 编译器
如果你没有使用 Gradle 插件来管理 Compose 编译器,请更新项目中所有对旧 Maven 构件的直接引用:
- 把
androidx.compose.compiler:compiler改为org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable - 把
androidx.compose.compiler:compiler-hosted改为org.jetbrains.kotlin:kotlin-compose-compiler-plugin
接下来学什么
- 参阅 Google 的公告,了解 Compose 编译器迁移到 Kotlin 仓库的情况。
- 如果你使用 Jetpack Compose 构建 Android 应用,请查看我们关于如何让它成为多平台的指南。