Android Studio运行Kotlin模块失败,请求排查JVM版本兼容问题及解决方法
错误原因与解决方案
错误原因
编译失败是因为Java编译任务(compileJava)的JVM目标版本为1.7,但Kotlin编译任务(compileKotlin)的目标版本为17,两者版本不匹配,Gradle要求Java和Kotlin的JVM目标兼容性必须一致。
你的build.gradle仅配置了Java的源和目标兼容性版本,未对Kotlin的JVM目标版本进行设置,导致Kotlin使用了默认的高版本(如17),从而引发版本冲突。
解决方案
方案1:统一升级到较新的Java版本(推荐)
Java 7已停止更新多年,建议升级到更现代的版本(如Java 17),同时统一Java和Kotlin的目标版本:
修改build.gradle如下:
plugins { id 'java-library' id 'org.jetbrains.kotlin.jvm' } java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlin { jvmToolchain(17) }
方案2:强制Kotlin使用Java 1.7(仅当必须兼容旧环境时使用)
如果必须保留Java 1.7,需为Kotlin指定对应的JVM目标版本:
修改build.gradle如下:
plugins { id 'java-library' id 'org.jetbrains.kotlin.jvm' } java { sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = "1.7" } }
内容的提问来源于stack exchange,提问作者Shivam
相关产品推荐
相关产品推荐

