升级Flutter至最新版本后出现device_info_plus编译错误求助
解决Flutter升级后
invalid source release: 17编译错误 核心问题
升级Flutter后,device_info_plus模块编译依赖Java 17,但当前环境的JDK版本不匹配,或Gradle配置未正确指定JDK版本。
解决方案
检查并升级本地JDK版本
- 执行
java -version和javac -version确认当前JDK版本,若低于17,安装JDK 17(如Adoptium Temurin、Oracle JDK)。 - 配置
JAVA_HOME环境变量指向JDK 17的安装路径,并确保系统PATH包含JDK 17的bin目录。
- 执行
配置项目Gradle的JDK路径
打开项目根目录下的android/gradle.properties文件,添加或修改以下配置:org.gradle.java.home=/path/to/your/jdk17替换
/path/to/your/jdk17为实际路径(示例:Windows系统为C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot,Mac系统为/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home)。调整模块编译选项
打开android/app/build.gradle文件,确保compileOptions指定Java 17:android { compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } // 若项目使用Kotlin,需添加以下配置 kotlinOptions { jvmTarget = '17' } }若问题仍存在,在项目根目录的
build.gradle中统一设置编译版本:allprojects { tasks.withType(JavaCompile) { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } }重新构建项目
依次执行以下命令清理缓存并重新构建:flutter clean flutter pub get flutter run
内容的提问来源于stack exchange,提问作者ibsdev
相关产品推荐
相关产品推荐

