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

Android端使用image_gallery_saver时Flutter Gradle报Kotlin JVM Target 21未知错误

嘿,我之前帮好几个开发者解决过一模一样的问题,咱们先把问题根源理清楚:你遇到的这个报错,本质是image_gallery_saver这个依赖的配置里指定了JVM目标版本为21,但你的项目当前使用的Kotlin Gradle插件版本或者Gradle版本还不支持这么高的JVM版本——毕竟Kotlin正式支持JVM 21是从1.9.0版本才开始的,旧版本根本认不出这个目标。

给你两个靠谱的解决方向,你可以根据自己的项目情况选:

  • 方案一:升级项目的Kotlin和Gradle版本(推荐)
    这是最彻底的解决办法,能从根本上兼容依赖的配置。

    1. 打开项目根目录下的build.gradle文件,把Kotlin版本升级到1.9.0及以上(比如1.9.20),同时搭配兼容的Android Gradle插件版本(比如Kotlin 1.9.20对应Android Gradle插件8.2.0以上):
      buildscript {
          ext.kotlin_version = '1.9.20'
          repositories {
              google()
              mavenCentral()
          }
          dependencies {
              classpath "com.android.tools.build:gradle:8.2.0"
              classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
          }
      }
      
    2. 同时检查gradle/wrapper/gradle-wrapper.properties里的Gradle版本,确保是8.2及以上:
      distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
      
    3. 执行flutter clean清空缓存,再flutter pub get,然后重新构建项目。
  • 方案二:单独覆盖依赖的JVM目标配置(适合暂时不想升级项目的情况)
    如果你的项目暂时没法整体升级Kotlin版本,也可以强制给image_gallery_saver的编译任务指定一个当前环境支持的JVM目标版本,比如17:
    在app模块的build.gradle文件里添加:

    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
        kotlinOptions {
            jvmTarget = JavaVersion.VERSION_17.toString()
        }
    }
    

    同样,执行flutter clean和flutter pub get后再构建。

需要注意的是,方案二可能会有潜在的兼容性问题,所以如果项目允许,优先选方案一哦。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 13:29:36