IntelliJ中Flutter项目添加edge_detection插件遇Kotlin JVM目标未知错误
问题原因
错误提示Unknown Kotlin JVM target: 21的核心原因是Kotlin 1.8.0不支持JVM Target 21(Kotlin 1.9及以上版本才正式支持JVM 21),而edge_detection插件内部可能硬编码了JVM Target为21,和你项目配置的Kotlin版本不兼容。
解决方法1:统一所有子项目的JVM Target为17(无需升级Kotlin)
修改你的android/build.gradle文件,在subprojects块中添加强制配置,让所有子项目(包括第三方插件)都使用JVM Target 17:
subprojects { afterEvaluate { project -> if (project.hasProperty('android')) { project.android { if (namespace == null) { namespace project.group } // 添加以下配置,覆盖插件的jvmTarget设置 kotlinOptions { jvmTarget = JavaVersion.VERSION_17.toString() } } } } }
你的app/build.gradle里已经正确设置了kotlinOptions,确保保留:
kotlinOptions { jvmTarget = JavaVersion.VERSION_17 }
解决方法2:升级Kotlin版本到支持JVM 21的版本
如果想保留JVM Target 21,需要将Kotlin版本升级到1.9.0及以上,同时确保Android Gradle插件版本兼容:
- 修改
settings.gradle中的Kotlin插件版本:
plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "com.android.application" version "8.3.2" apply false // 升级到1.9.0或更高版本 id "org.jetbrains.kotlin.android" version "1.9.0" apply false id "com.google.gms.google-services" version "4.4.2" apply false }
验证步骤
修改完成后,执行以下命令清除缓存并重新构建:
flutter clean flutter run
内容的提问来源于stack exchange,提问作者metsys
相关产品推荐
相关产品推荐

