Kotlin 多平台概述

Kotlin 多平台 (KMP) 支持在不同平台之间共享 Kotlin 代码。Kotlin 多平台由 JetBrains 开发,使用 KMP 针对移动平台是 稳定且可用于生产环境的

多平台 Jetpack 库

Kotlin 多平台已获得 Google 官方支持,用于在 Android 和 iOS 之间共享业务逻辑。我们许多 Jetpack 库已迁移以利用 KMP 的优势。

以下 Jetpack 库提供 KMP 支持

Maven 组 ID 最新更新 稳定版本 候选版本 测试版 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 文档

Markers showing platform availability of APIs

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

kotlin-multiplatform-samples GitHub 代码库展示了这些库的一些功能。

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

支持的平台

官方支持的平台(Android 和 iOS)的 Jetpack 库版本维护相同的质量和兼容性要求。但是,随着我们努力将 Jetpack 的 Kotlin 多平台支持扩展到其他平台,工具和基础架构支持可能仍在开发中。

每个平台的当前支持级别可以概括为几个层级

第 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 功能尚不适用于这些项目。要创建新项目,请使用来自Kotlin 多平台向导 JetBrains

我们还通过测试新版本的核心场景来确保 Android Gradle 插件与 Kotlin 多平台兼容。