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

Flutter安卓Debug模式报错invalid source release:17求解决

解决Flutter安卓调试时invalid source release: 17错误

问题根源

你遇到的错误是因为device_info_plus: ^10.0.1版本要求使用Java 17编译,但你的项目配置为Java 8,同时Flutter 3.3.2版本较旧,和高版本插件存在兼容性冲突。

解决方案

方案一:降级device_info_plus到兼容版本

device_info_plus从v10.x开始要求Java 17,可降级到v9.x系列(兼容Java 8和Flutter 3.3.2):

  1. 修改pubspec.yaml中的依赖:
device_info_plus: ^9.1.2
  1. 执行命令更新依赖:
flutter pub get
  1. 重新运行项目。

方案二:升级项目Java版本至17

调整安卓项目配置以支持Java 17:

  1. 修改android/app/build.gradle中的编译配置:
android {
    // 其他配置...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17'
    }
    // 其他配置...
}
  1. 更新项目级android/build.gradle的Gradle插件和Kotlin版本:
buildscript {
    ext.kotlin_version = '1.7.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
  1. 修改gradle/wrapper/gradle-wrapper.properties的Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
  1. 确保本地安装了Java 17(可通过Android Studio的SDK Manager下载OpenJDK 17)。

方案三:升级Flutter到新版本

Flutter 3.3.2版本较旧,高版本插件通常适配新Flutter版本,升级后可自动解决大部分兼容性问题:

  1. 执行升级命令:
flutter upgrade
  1. 升级完成后重新运行项目,若有配置提示按指引调整即可。

注意事项

  • 除device_info_plus外,你依赖的firebase_core:^2.27.2、permission_handler:^11.3.1等高版本插件也可能和Flutter 3.3.2存在兼容性问题,升级Flutter是更彻底的解决方式。
  • 降级插件时,可查看插件pub.dev页面的版本兼容性说明,确保版本匹配。

内容的提问来源于stack exchange,提问作者RishV

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:27:12