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

Flutter项目JVM目标兼容性不一致问题求助

问题:Flutter依赖更新后JVM目标兼容性冲突

错误详情

* What went wrong:
Execution failed for task ':flutter_google_places_sdk_android:compileDebugKotlin'.
> Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (1.8) and 'compileDebugKotlin' (17).

  Consider using JVM Toolchain: https://kotl.in/gradle/jvm/toolchain
  Learn more about JVM-target validation: https://kotl.in/gradle/jvm/target-validation 

已尝试的配置

在模块级build.gradle中添加了以下JVM版本配置,但问题未解决:

compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17
    }

    kotlin {
        jvmToolchain(17)
    }

    java {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

环境信息

Flutter核心环境

[✓] Flutter (Channel stable, 3.13.6, on macOS 13.2.1 22D68 darwin-x64, locale en-AU)
    • Flutter version 3.13.6 on channel stable at /Users/sophiahuynh/Documents/_gitLabProjects/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ead455963c (8 weeks ago), 2023-09-26 18:28:17 -0700
    • Engine revision a794cf2681
    • Dart version 3.1.3
    • DevTools version 2.25.0

Android开发环境

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/sophiahuynh/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Users/sophiahuynh/Library/Java/JavaVirtualMachines/jbrsdk-17.0.9/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment JBR-17.0.9+7-1087.3-nomod (build 17.0.9+7-b1087.3)
    • All Android licenses accepted.

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

额外环境说明

  • Java版本:17.0.9(Java Home、Android Studio Gradle JDK均使用该版本)
  • Gradle版本:8.4(8.0版本时同样触发问题)
  • Kotlin版本:1.9.20(1.8.0版本时同样触发问题)

解决方案

问题根源是第三方依赖flutter_google_places_sdk_android内部的Java编译目标(1.8)与Kotlin编译目标(17)不统一,你修改的是自身项目配置,未覆盖依赖内部的配置。可通过以下方式解决:

方案1:强制所有子模块统一JVM目标

在项目根目录的**项目级build.gradle**中添加以下配置,强制所有模块(包括第三方依赖)对齐JVM版本:

subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            project.android {
                compileOptions {
                    sourceCompatibility JavaVersion.VERSION_17
                    targetCompatibility JavaVersion.VERSION_17
                }
                kotlinOptions {
                    jvmTarget = JavaVersion.VERSION_17.toString()
                }
            }
        }
        project.plugins.withType(org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper) {
            project.kotlin {
                jvmToolchain(17)
            }
        }
    }
}

方案2:调整依赖版本

检查flutter_google_places_sdk的版本,尝试升级到最新稳定版,或降级至之前无问题的版本。在pubspec.yaml中指定版本:

dependencies:
  flutter_google_places_sdk: ^<兼容版本号>

方案3:清理缓存后重建

执行以下命令清理缓存,避免旧配置残留:

flutter clean
rm -rf ~/.gradle/caches
flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:07:44