KMM项目中如何在buildSrc里为KotlinDependencyHandler创建扩展?
问题原因
KotlinDependencyHandler是Kotlin多平台Gradle插件提供的类,默认未包含在buildSrc的依赖类路径中,因此需要手动引入对应依赖才能识别。
解决步骤
- 修改buildSrc模块的
build.gradle配置,添加Kotlin Gradle插件依赖,同时补充必要的仓库配置,注意依赖版本要和你项目全局使用的Kotlin版本完全一致:
import org.gradle.kotlin.dsl.`kotlin-dsl` plugins { `kotlin-dsl` } repositories { mavenCentral() gradlePluginPortal() google() } dependencies { // 替换为你项目实际使用的Kotlin版本 implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20") }
- 同步Gradle项目,完成后buildSrc即可正常识别
KotlinDependencyHandler接口,可直接编写对应的扩展函数,示例如下:
fun KotlinDependencyHandler.implementation(list: List<String>) { list.forEach { dependency -> implementation(dependency) } }
注意事项
- Kotlin Gradle插件的版本必须和项目根构建脚本中引入的Kotlin插件版本完全匹配,避免版本冲突导致的类不兼容问题。
- 若同步后IDE仍提示无法识别接口,可清空IDE缓存后重启即可解决。
内容的提问来源于stack exchange,提问作者Sergei Mikhailovskii
相关产品推荐
相关产品推荐

