我正在处理一个Android项目,在尝试构建项目时遇到了JVM目标兼容性设置不匹配的问题。错误消息如下:
“compileDevigJavaWithJavac”任务(当前目标为17)和“kspDevigKotlin”任务(当前目标为1.8)jvm目标兼容性应设置为相同的Java版本。
以下是我的build.gradle文件中的相关部分:
android {
compileOptions {
// Flag to enable support for the new language APIs
isCoreLibraryDesugaringEnabled = true
}
kotlinOptions {
freeCompilerArgs = listOf("-Xjvm-default=all")
}
kotlin {
jvmToolchain(17)
}
composeOptions { kotlinCompilerExtensionVersion = "1.5.2" }
}
字符串
我正在使用这个ksp插件:
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
kotlin("kapt")
id("com.google.devtools.ksp").version("1.9.0-1.0.13")
}
型
项目级插件:
plugins {
id("com.android.application") version "8.2.0" apply false
id("com.android.library") version "8.2.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
}
型
我已经尝试使用jvmToolchain(17)将Kotlin的JVM目标设置为17,但似乎“kspDevelogKotlin”任务仍然针对Java 1.8。我查看了Kotlin编译器的Android Studio设置,并专门将其设置为使用17。
如何确保这两个任务针对相同的Java版本(本例中为Java 17)?Gradle脚本中是否需要任何其他配置来对齐这些目标?奇怪的是,我创建了一个单独的项目,使用相同的库和build.gradle文件,但实际上源代码为空,项目编译正常。我检查了gradle.properties是否有任何差异,没有任何差异。
任何帮助或建议将不胜感激!
1条答案
按热度按时间xkrw2x1b1#
在我更新了一个领域插件版本后,错误消息消失了。