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

升级3年前Flutter项目遇JVM目标版本不兼容编译错误

解决Flutter项目编译时JVM目标版本不兼容问题

问题描述

升级3年未维护的Flutter项目时,遇到编译错误:

任务':carrier_info_v3:compileDebugKotlin'执行失败。
'compileDebugJavaWithJavac'任务(当前目标版本1.8)与'compileDebugKotlin'任务(当前目标版本17)的JVM目标兼容性需设置为相同Java版本。

核心原因是第三方依赖carrier_info_v3的Java编译目标版本仍为1.8,与主项目配置的Java 17不匹配。

解决方案

修改android/build.gradle,在全局子项目配置中强制统一所有Android模块(包括第三方插件)的JVM版本为17:

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    subprojects {
        afterEvaluate { project ->
            if (project.hasProperty('android')) {
                project.android {
                    if (namespace == null) {
                        namespace project.group
                    }
                    // 统一Java编译版本
                    compileOptions {
                        sourceCompatibility JavaVersion.VERSION_17
                        targetCompatibility JavaVersion.VERSION_17
                    }
                    // 统一Kotlin JVM目标版本
                    kotlinOptions {
                        jvmTarget = '17'
                    }
                }
            }
            // 配置JVM Toolchain确保使用指定Java版本
            if (project.plugins.hasPlugin('kotlin-android') || project.plugins.hasPlugin('kotlin')) {
                project.kotlin {
                    jvmToolchain {
                        languageVersion.set(JavaLanguageVersion.of(17))
                    }
                }
            }
        }
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

操作步骤

  1. 将上述代码替换到你的android/build.gradle文件中
  2. 执行以下命令清理缓存并重新编译:
flutter clean
flutter pub get
flutter run

该配置会强制所有子模块(包括carrier_info_v3)使用Java 17进行编译,彻底解决版本不兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 01:27:16