我正在开发一个 kotlin 多平台项目,它有一堆模块。
我写了一个扩展函数,打算在每个模块中使用。扩展函数扩展了KotlinMultiplatformExtension
类的功能。现在该代码在每个模块的build.gradle.kts文件中重复。所以我认为将代码移动到buildSrc moudle 并在任何地方重用会很棒。
问题是buildSrc模块内部KotlinMultiplatformExtension
没有解决。
我的buildSrc/build.gradle.kts:
plugins {
`kotlin-dsl`
}
repositories {
jcenter()
}
如果我右键单击KotlinMultiplatformExtension
someModule /build.gradle.kts
它需要我:
所以我猜想在buildSrc/build.gradle.kts中添加一个依赖项应该会有所帮助:
dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10")
}
但是添加该结果会导致错误:
* Exception is:
java.lang.NoClassDefFoundError: com/android/build/gradle/BaseExtension
at org.jetbrains.kotlin.gradle.plugin.AbstractAndroidProjectHandler.configureTarget(KotlinPlugin.kt:765)
at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin$Companion.applyToTarget(KotlinPlugin.kt:727)
at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin.apply(KotlinPlugin.kt:689)
at org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPlugin.apply(KotlinPlugin.kt:678)
at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.apply(KotlinPluginWrapper.kt:102)
有什么想法KotlinMultiplatformExtension
可以在buildSrc中使用吗?