You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 10:22:06