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

Flutter打包AAB时出现Java与Kotlin JVM目标版本兼容错误

解决方案

1. 强制所有模块统一JVM目标版本

第三方库的gradle配置可能会覆盖你项目级的设置,所以需要在项目根目录的android/build.gradle中添加配置,强制所有子模块(包括依赖库)使用相同的JVM版本:

subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            android {
                compileOptions {
                    sourceCompatibility JavaVersion.VERSION_17
                    targetCompatibility JavaVersion.VERSION_17
                }
                kotlinOptions {
                    jvmTarget = '17'
                }
            }
        }
    }
}

若坚持使用JDK 1.8,可将VERSION_17替换为VERSION_1_8,jvmTarget改为'1.8'。但Kotlin 1.9.0推荐搭配JDK 17使用,兼容性更好。

2. 配置全局Gradle属性

在android/gradle.properties中添加以下配置,确保全局JVM版本统一:

org.gradle.java.home=/path/to/your/jdk17
kotlin.jvm.target.version=17
android.compileSdkVersion=34

替换/path/to/your/jdk17为本地JDK 17的实际路径,比如Windows下为C:\\Program Files\\Java\\jdk-17,Mac下为/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home。

3. 清除缓存重新构建

旧缓存可能导致配置不生效,执行以下命令清理后重新打包:

flutter clean
rm -rf android/.gradle
flutter build appbundle

4. 升级第三方库版本

检查pubspec.yaml中agora_uikit和emoji_picker_flutter的版本,升级到最新稳定版,新版本通常会适配更高版本的Kotlin和JDK:

dependencies:
  agora_uikit: ^latest_version
  emoji_picker_flutter: ^latest_version

执行flutter pub get更新依赖。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:40:01