我正在开发一个 Kotlin Multiplatform 项目,该项目同时包含 Android 和 iOS 实现。我正在使用 Gradle Kotlin DSL 来构建项目。从 1.6 升级到 Kotlin 1.8 后,IntelliJ 现在会在库的 iOS 部分的任何 Kotlin 文件上方显示黄色警告
Kotlin not configured
。我也不再能够在受影响的文件中使用代码完成。
我的
build.gradle.kts
内容如下:
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
plugins {
kotlin("multiplatform") version "1.8.10"
id("com.android.library")
}
kotlin {
android()
val xcf = XCFramework()
listOf(iosSimulatorArm64(), iosX64(), iosArm64("ios")).forEach {
it.binaries.framework {
baseName = "SharedLibrary"
xcf.add(this)
}
}
sourceSets {
val commonMain by getting
val androidMain by getting
val iosMain by getting
val iosSimulatorArm64Main by getting
iosSimulatorArm64Main.dependsOn(iosMain)
val iosX64Main by getting
iosX64Main.dependsOn(iosMain)
}
}
android {
namespace = "com.example"
compileSdk = 32
defaultConfig {
minSdk = 27
targetSdk = 32
}
}
我该如何解决这个警告?
问题是 IntelliJ 没有读到 Kotlin 标准库应该包含在库的 iOS 部分中。明确声明
org.jetbrains.kotlin:kotlin-stdlib
作为 common
模块的依赖项,像这样:
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib")
}
}
}
允许IntelliJ与Gradle同步后,问题应该解决了!