Flutter安卓端运行报错:compilerOptions.jvmTarget评估失败求助
Gradle编译错误:Error while evaluating property 'compilerOptions.jvmTarget' of task ':restart_app:compileDebugKotlin'
问题分析
错误指向restart_app子模块的Kotlin编译任务,说明该模块的JVM目标配置与项目全局或已安装的JDK环境不匹配——你提供的app模块配置是正常的,但子模块的配置可能存在问题。
解决方案
1. 检查restart_app子模块的build.gradle
找到项目中restart_app模块的build.gradle文件,定位kotlinOptions配置段:
- 确保
jvmTarget设置为'17',与你安装的JDK版本一致 - 检查是否存在语法错误(比如引号缺失、版本号格式错误)
示例正确配置:
kotlinOptions { jvmTarget = '17' }
2. 统一项目全局Kotlin编译配置
在项目根目录的build.gradle文件中,添加全局配置强制所有子模块使用相同的JVM目标:
subprojects { tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = '17' } } }
3. 验证Kotlin插件版本兼容性
检查根目录build.gradle中的Kotlin插件版本,确保其支持JDK 17(Kotlin 1.6.0及以上版本支持JVM 17):
plugins { id 'com.android.application' version '7.4.2' apply false id 'org.jetbrains.kotlin.android' version '1.9.20' apply false id 'dev.flutter.flutter-gradle-plugin' version '2.3.0' apply false }
版本号需与你的Flutter版本匹配(可通过flutter doctor查看推荐的插件版本)。
4. 清理缓存并重新构建
执行以下命令彻底清理缓存后重新构建:
flutter clean rm -rf .android .gradle flutter pub get flutter run
5. 指定Gradle使用的JDK路径
在local.properties文件中添加JDK 17的绝对路径,避免Gradle使用系统默认的旧JDK:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
(路径需根据你的操作系统和JDK安装位置调整)
内容的提问来源于stack exchange,提问作者Anak Agung Putu Gede Jaya Nugr
相关产品推荐
相关产品推荐

