The JetBrains Blog

Start Your Next KMP App With Kotlin Toolchain 0.13

6.9内容质量
Start Your Next KMP App With Kotlin Toolchain 0.13

TL;DR · AI 摘要

Start Your Next KMP App With Kotlin Toolchain 0.13 - The JetBrains Blog Kotlin A concise multiplatform language develope...

核心要点

  • 主题聚焦:Start Your Next KMP App With Kotlin Toolchain 0.
  • 来源:The JetBrains Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#后端#产品
打开原文

使用 Kotlin 工具链 0.13 开始你的下一个 KMP 应用 - JetBrains 博客

Kotlin

JetBrains 开发的简洁多平台语言

关注

  • 关注:
  • X X
  • RSS RSS

访问 Kotlin 官网

Kotlin

多平台

版本发布

工具链

使用 Kotlin 工具链 0.13 开始你的下一个 KMP 应用

Anton Makeev

Kotlin 工具链是进入 Kotlin 的统一入口。它允许你通过简单的声明式配置构建 JVM、Android、iOS、多平台和服务器端应用。

随着 v0.13 版本的发布,我们现推荐大多数新的 Kotlin 多平台(KMP)项目使用 Kotlin 工具链。

今年早些时候,我们将 Kotlin 工具链提升至 Alpha 阶段。自那时以来,我们的 Slack 频道和问题跟踪器非常活跃。社区中有如此多的开发者加入我们,共同为 Kotlin 创建出色的构建体验。感谢你们——持续的反馈帮助我们到达这里!

尚未使用 Kotlin 工具链?体验自动化的环境配置和与你的 AI 代理兼容的直观 CLI。

安装 Kotlin 工具链

要从 IDE 访问最新的 Kotlin 工具链功能,请使用 IntelliJ IDEA 2026.2.3、Android Studio Rabbit 1 | 2026.2.1(或更新版本)。确保已安装最新版本的 Kotlin 工具链插件。

Kotlin 工具链如何简化入门流程

开始使用 Kotlin 多平台通常意味着要处理不熟悉的平台。Android 开发者可能第一次接触 iOS,而其他团队则扩展到 Web 或桌面端。每个平台都有自己的工具需要安装和构建配置需要理解。

Kotlin 工具链改变了这一切。它是配置环境、创建、构建、测试和发布 KMP 应用和库的单一 CLI 入口。它包含声明式项目配置和所有必要工具的集合——你所需的一切都在一个地方。

在最近的版本中,我们优化了 CLI 和 IDE 体验,增加了对 Web 和 cinterop 的支持,并根据你的反馈进行了许多其他改进。内部的使用验证和社区的积极反馈让我们有信心推荐它用于新项目!

我们将在 KMP 入门指南、Web 和 IDE 项目向导中突出展示 Kotlin 工具链。这些更新将使开发者和 AI 代理在最合适的任务场景中选择 Kotlin 工具链变得更加容易。

对代理工作流的直接支持

从一开始,我们设计 Kotlin 工具链时就考虑到了开发者和 IDE 的可靠性与易用性。事实证明,自动化的环境配置、声明式配置和清晰的可操作错误信息也为 AI 代理提供了理想的基石。

我们进一步通过引入热重载 MCP 服务器和专用的 AI 代理技能(包含在 Kotlin 官方 AI 代理技能中)来深化这一支持。你可以通过以下命令安装它们:

code
npx skills add kotlin/kotlin-agent-skills

最终,这些技能将通过 Kotlin 工具链直接提供。在我们的基准测试中,AI 代理已经能够更可靠地生成和维护 Kotlin 工具链项目,同时消耗更少的 token。

0.13 版本的新特性

使用 kotlin new 创建新项目

0.13 版本引入了 kotlin new 命令,提供与 Kotlin 多平台向导类似的交互式设置流程。请注意 kotlin init 命令仍然可用;它已更新为与 kotlin new 的行为保持一致,但会直接在当前目录下生成项目文件。

运行 kotlin new 时,第一个提示会要求您选择应用类型:

对于 Kotlin 多平台应用,您可以在第二步选择目标平台:

更流畅的 iOS 应用入门体验

现在在干净的机器上设置 iOS 应用显著更加顺畅:

  • 更好的 Xcode 安装诊断:获取关于 Xcode 许可协议接受状态和首次运行状态的清晰、可操作信息。
  • iOS 模拟器运行时会在需要时自动下载。如果尚未存在模拟器,系统会自动创建一个。

CLI 中的下载进度报告

当 Kotlin 工具链下载所需工具(如 JDK、Android SDK 组件、iOS 运行时和编译器)时,TUI 现在会显示丰富的下载进度条。

Android 改进

在之前的版本中,运行 kotlin build 或 kotlin run 时会自动配置 Android SDK,但在 IDE 中打开项目时不会自动配置。如果在运行构建之前在 IDE 中打开项目,缺少的 SDK 可能会导致设置错误。

我们已对齐 CLI 和 IDE 的行为,现在 Kotlin 工具链在项目导入时会自动配置缺失的 Android SDK 组件。

此外,我们还加强了命名空间和应用 ID 定义的验证,防止您意外使用类似 com.example.app 的示例 ID 发布应用或库构建。

IDE 编辑器中的同步状态

现在您可以在文件编辑器中查看当前 IDE 的同步状态:

SPM 导入

Kotlin 工具链现在支持 Apple 平台的 Swift 包管理器依赖项。

支持 Apple 平台的模块(例如 kmp/lib、ios/app)可以使用 SwiftPM 依赖项从 Objective-C 和 Swift 代码导入 Objective-C API:

code
product: ios/app

dependencies:
  - swiftPackage:
      repository: "https://github.com/firebase/firebase-ios-sdk.git"
      version: "12.17.0"
      products: [ "FirebaseCore", "FirebaseFirestore", "FirebaseAnalytics" ]

导入的 Objective-C API 使用 swiftPMImport 前缀并以模块名称结尾:

code
// app/src/app.kt
import swiftPMImport.app.FIRAnalytics
import swiftPMImport.app.FIRApp

Kotlin 工具链还支持通过 localSwiftPackage 键使用本地 SwiftPM 包。有关详细信息,请参阅我们的文档。

多平台库发布改进

发布多平台库时,您的 Compose 资源和 SwiftPM 依赖项元数据会与构建工件一起发布。

Compose 资源也可以从第三方多平台库中解析。

Kotlin/Native 编译器缓存

Kotlin/Native 重建速度大幅提升。通过 KTC-5422,Kotlin 工具链会缓存编译后的原生依赖项,并在构建甚至跨项目时重复使用它们。项目代码会按文件进行缓存,使编译器在链接时只需重新构建受影响的代码。一旦缓存填充完成,小幅编辑意味着更少的工作量和更快的原生应用及测试的编辑-构建-运行周期。

该功能使用现有的 settings.kotlin.compileIncrementally 设置,并在兼容目标上支持未优化的调试二进制文件。对 .klib 文件的编译仍会以完整模式运行。

Kotlin 工具链和 KMP 的下一步计划

我们路线图上有一些令人兴奋的里程碑,包括:

  • 通过 brew install kotlin 安装 Kotlin 工具链
  • 提供开箱即用的 AI 技能
  • 随着 Swift 导出功能的稳定化提供支持
  • 优化并自动化应用商店发布流程

我们近期的重点将放在理解新用户反馈和弥补现有缺陷上(包括现有 Gradle 项目的相关问题),在推荐迁移方案之前优先解决这些问题。

为了实现这一目标,我们希望听到您的声音!随着功能的持续完善,某些变更可能需要对您的项目进行调整,我们将尽最大努力支持您完成这些迁移,并尽可能让过程顺畅。

加入 #kotlin-toolchain Slack 频道讨论(获取邀请:kotl.in/slack),或在 JetBrains YouTrack 上分享您的建议和想法。您的反馈和使用场景将塑造 Kotlin 工具链的未来!

安装 Kotlin 工具链 0.13.0

准备好尝试 Kotlin 工具链了吗?查看我们的入门指南,立即体验代码示例、教程或完整的用户指南。

已经在使用 Kotlin 工具链?只需在终端运行 kotlin update 即可升级。

  • 分享
  • Facebook
  • Twitter
  • LinkedIn

上一篇

停止对 Kotlin 多平台插件中 Swift 语言 IDE 支持的维护