You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin Multiplatform是否支持使用Java开发跨平台代码?

Kotlin Multiplatform中能否使用Java及Java库?

核心结论分场景说明:

  • JVM目标模块/面向JVM的共享模块:完全可以使用Java代码和Java库。Kotlin与Java在JVM平台深度兼容,共享模块编译为JVM字节码后,能直接调用Java类、方法,也可正常引入Java依赖包。
  • 原生目标模块(如iOS、macOS、Linux等):无法直接使用Java代码或Java库。Kotlin Native会将代码编译为目标平台的原生二进制文件,不依赖JVM运行时;而Java代码依赖JVM环境,原生平台没有对应的执行条件。官方关于Kotlin Native互操作性的文档也未提及Java支持,这一点也验证了该结论。

现有Java库的跨平台使用方案:

如果想在KMP项目中复用Java库的功能,可参考以下方式:

  1. JVM端专属调用:通过expect/actual机制,在共享模块定义抽象接口,JVM端的actual实现中调用Java库,原生端则使用对应平台的替代实现(比如iOS用Objective-C库完成相同逻辑)。
  2. 选用KMP替代库:很多流行Java库已有官方或社区维护的Kotlin Multiplatform版本,直接引入这类库即可实现跨平台复用。
  3. 重写核心逻辑:如果没有合适的KMP替代库,可将Java库的核心功能用Kotlin重写后放入共享模块,实现跨平台复用。

内容的提问来源于stack exchange,提问作者user7858768

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 22:25:19