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

Flutter添加audio_service和just_audio后编译失败::audio_session任务执行出错

解决Flutter引入audio_service/just_audio后的Java版本编译错误

错误原因

你遇到的问题是因为audio_session(被audio_service和just_audio间接依赖)的Gradle配置使用了已过时的Java 8作为编译版本,而你的项目Gradle配置开启了-Werror,把编译警告直接当成错误处理,导致编译失败。

解决方案

方案1:统一项目Java编译版本并禁用警告转错误

打开项目根目录下的android/build.gradle文件,修改android块内容:

android {
    compileOptions {
        // 替换为你项目兼容的Java版本,比如11或17
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    lintOptions {
        // 禁止将警告视为错误中断编译
        abortOnError false
    }
}

方案2:单独修复audio_session模块的编译配置

如果方案1无效,可以针对audio_session模块单独设置:
在android/build.gradle中添加subprojects块:

subprojects {
    if (name == 'audio_session') {
        android {
            compileOptions {
                sourceCompatibility JavaVersion.VERSION_11
                targetCompatibility JavaVersion.VERSION_11
            }
            tasks.withType(JavaCompile) {
                // 忽略Java版本过时的警告
                options.compilerArgs << "-Xlint:-options"
            }
        }
    }
}

方案3:更新依赖到最新版本

检查并升级audio_service和just_audio到最新版本,新版本可能已经修复了Java版本兼容问题:
修改pubspec.yaml中的依赖:

dependencies:
  audio_service: ^0.18.11 # 替换为实际最新版
  just_audio: ^0.9.34 # 替换为实际最新版

操作步骤

  1. 保存修改后的配置文件
  2. 执行命令清理缓存:flutter clean
  3. 重新编译运行:flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:03:33