Kotlin Multiplatform
使用 Kotlin Multiplatform 编写可在多个平台上运行的单个代码库。
Google 正式支持 Kotlin Multiplatform (KMP),以便在 Android 和 iOS 之间共享业务逻辑。Kotlin Multiplatform 已处于稳定阶段,并可实际投入使用。借助 JetBrains 的 Compose Multiplatform (CMP),开发者还可以跨平台共享界面。
开发者在线课程
Kotlin Multiplatform 基础知识
立即开始您的多平台开发之旅。此学习路线将引导您了解 Kotlin Multiplatform 的基本知识,包括设置项目、共享代码、使用特定于平台的 API,以及将 Room 数据库迁移到 Kotlin Multiplatform。
Android Studio 插件
Kotlin Multiplatform 插件
我们建议您安装由 JetBrains 开发的 Kotlin Multiplatform Android Studio 插件,以改善 Android Studio 内的开发体验。
- 新建项目向导:在 IDE 中创建新的多平台项目。
- 预检检查:预检检查可帮助您配置环境。
- 运行配置:直接从 IDE 中在 iOS 和 Android 上运行、调试和测试应用。
- IDE 中的基本 Swift 支持:在 IDE 中获得基本 Swift 支持,包括跨语言调试工具、导航和快速文档。
Kotlin Multiplatform 的优势
借助 Kotlin Multiplatform,您可以选择要跨平台共享的内容,从仅共享核心业务逻辑到共享整个应用,都可以实现。以下是该功能的一些主要优势:
重复代码
您无需在每个平台上复制复杂的业务逻辑。
不完全重写
借助 Kotlin Multiplatform,您无需重写整个应用即可开始在平台之间共享代码。
原生性能
Kotlin Multiplatform 会编译为目标平台运行代码的原生方式,从而提供与原生实现相当的性能。
Kotlin Multiplatform 和 Jetpack 库
我们的许多 Jetpack 库已迁移为可用于 KMP。以下 Jetpack 库提供 KMP 支持:
由 Android 构建
由 JetBrains 构建
不支持
| 媒体库 | 最新版本 | Android | iOS | JVM | 网站 |
|---|---|---|---|---|---|
| 注释 |
2025 年 10 月 22 日 |
||||
| 收集 |
2025 年 8 月 27 日 |
||||
| compose |
2025 年 10 月 22 日 |
||||
|
datastore
文档 |
2025 年 10 月 22 日 |
||||
|
生命周期
文档 |
2025 年 10 月 22 日 |
||||
|
viewModel
文档 |
2025 年 10 月 22 日 |
||||
|
viewModel-compose
文档 |
2025 年 10 月 22 日 |
||||
|
导航
文档 |
2025 年 9 月 24 日 |
||||
| navigation3 |
2025 年 10 月 22 日 |
||||
| navigationevent |
2025 年 10 月 8 日 |
||||
| 分页 |
2025 年 9 月 10 日 |
||||
|
room
文档 |
2025 年 10 月 22 日 |
||||
| savedstate |
2025 年 10 月 22 日 |
||||
|
sqlite
文档 |
2025 年 9 月 24 日 |
如果您对这些库有任何反馈意见,请通过问题跟踪器分享您的意见。
工具支持
您可以在 Android Studio 中打开、修改和运行多平台项目。
KMP 模块向导
您可以在 Android Studio 中创建 KMP 共享模块,开始迁移到 KMP。此模块会自动应用所有必需的插件(包括 Android-KMP 插件),以便开始开发 Android 和 iOS 应用。
JetBrains 的 Compose Multiplatform 实时编辑
在 Android 设备上构建时,实时编辑功能可用于编辑项目中的任何代码,而不仅仅是
androidMain 中的代码。
JetBrains 的 Compose Multiplatform 的预览版
Jetpack Compose 的预览版也可用于 JetBrains 的 Compose Multiplatform,该版本来自
commonMain 源代码集。
使用 Kotlin Multiplatform 构建的应用
许多应用已成功使用 Kotlin Multiplatform。
Blinkit
Cash App
多邻国
Forbes
Google Docs
JioHotstar
石头
Swiggy
Ultrahuman
Wrike
Zomato
支持的平台
针对正式支持的平台(Android 和 iOS)发布的 Jetpack 库会保持相同的质量和兼容性要求。不过,由于我们正在努力将 Jetpack 的 Kotlin Multiplatform 支持扩展到其他平台,因此工具和基础架构支持可能仍在开发中。
层级 1
代码在 CI 中经过全面测试,包括主机端测试和设备端测试。我们会根据语义版本控制政策跟踪源代码和二进制文件兼容性。
- Android
- JVM
- iOS
层级 2
代码在 CI 上进行部分测试;仅限于主机端测试。我们不跟踪源代码或二进制文件兼容性。
- macOS
- Linux
层级 3
代码在 CI 上未经测试。不跟踪源代码或二进制文件兼容性。
- watchOS
- tvOS
- Windows
- JavaScript
- WASM
其他资源
如需详细了解整个多平台生态系统和更高级的配置,请参阅官方 Kotlin Multiplatform 文档。
Kotlin Multiplatform 示例
一组 Kotlin Multiplatform 示例,演示了如何使用适用于 Android 和 iOS 的 Jetpack 库。
Kotlin Multiplatform 使用入门
有关如何将 KMP 添加到项目的引导式初始配置。
从 Room 迁移到 Kotlin Multiplatform
将仅限 Android 的 Room 引导式迁移到 KMP。
深入指导
如需更深入的指南,请访问 Kotlinlang.org 上的 Kotlin Multiplatform 文档中心。
了解 Kotlin Multiplatform 是什么、其运作方式以及使用它的好处。