Flutter集成device_info_plus编译报错:invalid source release:17求助
解决device_info_plus编译报错"invalid source release: 17"的方案
这个问题是因为device_info_plus的新版本要求用Java 17编译,但你的Flutter项目默认使用的JDK版本低于17,导致编译不兼容。下面是具体解决步骤:
检查并升级本地JDK版本
先在终端输入java -version确认当前JDK版本,如果低于17,需要安装JDK 17。M1 Mac可以用brew安装:brew install openjdk@17。
安装完成后,在项目的android/gradle.properties文件中指定JDK路径:org.gradle.java.home=/Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home路径根据实际安装位置调整。
调整Android项目编译配置
打开android/app/build.gradle,修改编译选项:android { compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } }项目用Kotlin的话,必须设置kotlinOptions的jvmTarget为17。
清理缓存重新构建
执行以下命令:flutter clean flutter pub get flutter run备选:降级device_info_plus版本
如果不想升级JDK,可以改用兼容低版本JDK的旧版包。在pubspec.yaml中指定版本:dependencies: device_info_plus: ^9.0.2这个版本适配Java 8/11,能正常编译。
内容的提问来源于stack exchange,提问作者webdevapps
相关产品推荐
相关产品推荐

