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

Kotlin Gradle脚本插件无法解析Kotlin多平台配置问题

解决Kotlin Multiplatform脚本插件未解析引用问题

核心原因

Kotlin脚本插件(.gradle.kts)不像Groovy脚本那样能隐式识别KMP相关DSL,必须明确引入KMP插件的API依赖,否则kotlin代码块、macosX64()这类平台目标方法都会被标记为未解析引用。

修复方案

1. 给脚本插件添加KMP插件依赖

在kmp-targets.gradle.kts的最顶部加入以下代码:

plugins {
    kotlin("multiplatform") apply false
}

apply false的作用是仅导入KMP的DSL定义,不会自动将插件应用到项目中,避免和主项目的插件配置冲突。

2. 调整主项目的插件应用顺序

在需要使用该脚本插件的项目构建脚本(比如build.gradle.kts)中,先应用Kotlin Multiplatform插件,再引入你的脚本插件:

plugins {
    kotlin("multiplatform")
}

apply(from = "kmp-targets.gradle.kts")

如果是通过settings.gradle.kts配置脚本插件仓库后用plugins块引入,也要确保KMP插件的优先级高于自定义脚本插件。

3. 刷新依赖与IDE缓存

  • 执行命令行刷新:./gradlew clean build --refresh-dependencies
  • 在IDE中执行「同步项目与Gradle文件」操作,必要时重启IDE清除缓存

额外排查项

  • 核对Gradle与Kotlin版本兼容性:比如Kotlin 1.9.x要求Gradle 7.5及以上版本,版本不匹配也可能导致DSL识别失败
  • 确认脚本插件的引用路径正确:跨模块引用时要使用正确的相对路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:10:47