Kotlin 多平台概览

Kotlin Multiplatform (KMP) 支持跨不同平台共享 Kotlin 代码。Kotlin Multiplatform 由 JetBrains 开发,并获得 Google 的正式支持,可在 Android 和 iOS 之间共享业务逻辑。使用 KMP 定位移动平台的功能已处于稳定阶段,并可实际投入使用

Multiplatform Jetpack 库

我们的许多 Jetpack 库已迁移,以利用 KMP 的优势。以下 Jetpack 库提供 KMP 支持:

Maven 组 ID 最近更新时间 稳定版 候选版 Beta 版 Alpha 版 文档
annotation (*) 2025 年 7 月 16 日 1.9.1 - - -
collection 2025 年 3 月 12 日 1.5.0 - - -
datastore 2025 年 5 月 20 日 1.1.7 - - 1.2.0-alpha02 文档
lifecycle (*) 2025 年 7 月 30 日 2.9.2 - - 2.10.0-alpha01
paging (*) 2025 年 7 月 30 日 3.3.6 - - 3.4.0-alpha02
room 2025 年 8 月 1 日 2.7.2 - 2.8.0-beta01 - 文档
savedstate 2025 年 7 月 30 日 1.3.1 - - 1.4.0-alpha01
sqlite 2025 年 8 月 1 日 2.5.2 - 2.6.0-beta01 - 文档

参考文档

这些库的参考文档(例如 DataStoreFactory)会按 API 在通用代码、Android 代码和原生代码中是否可用对 API 进行标记。

您还可以在每个页面顶部按平台过滤声明。下表显示了每个标记的含义。

支持的平台

针对正式支持的平台(Android 和 iOS)发布的 Jetpack 库会保持相同的质量和兼容性要求。不过,随着我们努力将 Jetpack 的 Kotlin Multiplatform 支持扩展到其他平台,工具和基础架构支持可能仍在开发中。

每种平台的当前支持级别可总结为以下层级:

第 1 级

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

第 2 层级支持人员

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

第 3 级

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

工具支持

您可以在 Android Studio 中打开、修改和运行多平台项目。不过,部分 IDE 功能尚无法用于这些项目。

使用 Android Studio 创建新的 KMP 模块

您可以在 Android Studio 中创建 KMP 共享模块,开始向 KMP 迁移。此模块会自动应用所有必需的插件(包括 Android-KMP 插件),以便开始开发 Android 和 iOS 应用。

Kotlin Multiplatform Android Studio 插件

我们建议安装由 JetBrains 开发的 Kotlin Multiplatform Android Studio 插件。此插件提供多项功能,可简化开发体验:

  • 新建项目向导:在 IDE 中创建新的多平台项目。
  • 预检检查:预检检查可帮助您配置环境。
  • 运行配置:直接从 IDE 中在 iOS 和 Android 上运行、调试和测试应用。
  • IDE 中的基本 Swift 支持:在 IDE 中获得基本 Swift 支持,包括跨语言调试工具、导航和快速文档。

其他资源

如需详细了解整个多平台生态系统和更高级的配置,请参阅官方 Kotlin Multiplatform 文档

反馈

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