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 | 文档 |
这些库的参考文档根据其在通用代码、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 多平台兼容。