Kotlin 多平台概览

Kotlin Multiplatform (KMP) 支持跨不同平台共享 Kotlin 代码。Kotlin Multiplatform 由 JetBrains 开发,将 KMP 用于定位移动平台的功能已处于稳定阶段,并可实际投入使用

Multiplatform Jetpack 库

Google 正式支持 Kotlin Multiplatform,可在 Android 和 iOS 之间共享业务逻辑。我们的许多 Jetpack 库已迁移,以便利用 KMP。

以下 Jetpack 库提供 KMP 支持:

Maven 组 ID 最近更新时间 稳定版 候选版 Beta 版 Alpha 版 文档
annotation (*) 2024 年 10 月 30 日 1.9.1 - - -
collection 2024 年 11 月 13 日 1.4.5 - - 1.5.0-alpha06
datastore 2024 年 5 月 1 日 1.1.1 - - - 文档
lifecycle (*) 2024 年 11 月 13 日 2.8.7 - - 2.9.0-alpha07
paging (*) 2024 年 11 月 13 日 3.3.4 - - -
room 2024 年 10 月 30 日 2.6.1 - - 2.7.0-alpha11 文档
sqlite 2024 年 10 月 30 日 2.4.0 - - 2.5.0-alpha11 文档

显示 API 是否适用于特定平台的标记

这些库的参考文档会按 API 在通用代码、Android 代码和原生代码中是否可用对 API 进行标记。您还可以在每个页面顶部按平台筛选声明。

kotlin-multiplatform-samples GitHub 仓库展示了这些库的部分功能。

如果您对这些库有任何反馈意见,请通过问题跟踪器分享您的意见。

支持的平台

面向官方支持的平台(Android 和 iOS)的 Jetpack 库版本保持相同的质量和兼容性要求。不过,随着我们努力将 Jetpack 的 Kotlin Multiplatform 支持扩展到其他平台,工具和基础架构支持可能仍在完善中。

每个平台当前的支持级别可分为以下层级:

第 1 层级

  • 在 CI 中进行了全面测试;包括主机端测试和设备端测试
  • 根据我们的语义版本控制政策跟踪源代码和二进制文件兼容性

第 2 层级

  • 在 CI 上进行了部分测试;仅限主机端测试
  • 不跟踪源代码或二进制文件兼容性

第 3 层级

  • 未在 CI 上进行测试
  • 不跟踪源代码或二进制文件兼容性
平台 支持级别
Android 第 1 层级
JVM 第 1 层级
iOS 第 1 层级
macOS 第 2 层级
watchOS 第 3 层级
tvOS 第 3 层级
Linux 第 2 层级
Windows 第 3 层级
WASM 第 3 层级

工具支持

您可以在 Android Studio 中打开、修改和运行多平台项目。不过,部分 IDE 功能尚无法用于这些项目。如需创建新项目,请使用 JetBrains 中的 Kotlin Multiplatform 向导

此外,我们还将针对新版本测试各种核心场景,确保 Android Gradle 插件与 Kotlin Multiplatform 兼容。