使用 Kotlin Multiplatform 编写可在多个平台上运行的单个代码库。

Google 正式支持 Kotlin Multiplatform (KMP),以便在 Android 和 iOS 之间共享业务逻辑。Kotlin Multiplatform 已处于稳定阶段,并可实际投入使用。借助 JetBrains 的 Compose Multiplatform (CMP),开发者还可以跨平台共享界面。

开发者在线课程
立即开始您的多平台开发之旅。此学习路线将引导您了解 Kotlin Multiplatform 的基本知识,包括设置项目、共享代码、使用特定于平台的 API,以及将 Room 数据库迁移到 Kotlin Multiplatform。
Android Studio 插件
我们建议您安装由 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 徽标 由 Android 构建 JetBrains 徽标 由 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 月 10 日
room

文档
2025 年 10 月 22 日
savedstate 2025 年 10 月 22 日
sqlite

文档
2025 年 9 月 24 日

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

工具支持

您可以在 Android Studio 中打开、修改和运行多平台项目。
您可以在 Android Studio 中创建 KMP 共享模块,开始迁移到 KMP。此模块会自动应用所有必需的插件(包括 Android-KMP 插件),以便开始开发 Android 和 iOS 应用。
在 Android 设备上构建时,实时编辑功能可用于编辑项目中的任何代码,而不仅仅是 androidMain 中的代码。
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 支持扩展到其他平台,因此工具和基础架构支持可能仍在开发中。
代码在 CI 中经过全面测试,包括主机端测试和设备端测试。我们会根据语义版本控制政策跟踪源代码和二进制文件兼容性。
  • Android
  • JVM
  • iOS
代码在 CI 上进行部分测试;仅限于主机端测试。我们不跟踪源代码或二进制文件兼容性。
  • macOS
  • Linux
代码在 CI 上未经测试。不跟踪源代码或二进制文件兼容性。
  • watchOS
  • tvOS
  • Windows
  • JavaScript
  • WASM

其他资源

如需详细了解整个多平台生态系统和更高级的配置,请参阅官方 Kotlin Multiplatform 文档
一组 Kotlin Multiplatform 示例,演示了如何使用适用于 Android 和 iOS 的 Jetpack 库。
有关如何将 KMP 添加到项目的引导式初始配置。
将仅限 Android 的 Room 引导式迁移到 KMP。
如需更深入的指南,请访问 Kotlinlang.org 上的 Kotlin Multiplatform 文档中心。
了解 Kotlin Multiplatform 是什么、其运作方式以及使用它的好处。