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

Flutter引入video_player与zoom后Android端ExoPlayer类重复构建失败

Flutter Android ExoPlayer传递依赖冲突解决方案

这个问题的核心是video_player 2.2.6依赖com.google.android.exoplayer:exoplayer-common:2.14.1,而zoom 1.0.3+1依赖com.google.android.exoplayer:exoplayer-ui:2.12.3,两个不同版本的ExoPlayer组件存在同名类,导致编译冲突。

方案1:强制全局统一ExoPlayer版本(推荐)

修改项目android/app/build.gradle文件,在android代码块外层添加如下配置,强制所有ExoPlayer组件使用同一版本:

configurations.all {
    resolutionStrategy {
        force 'com.google.android.exoplayer:exoplayer-common:2.14.1'
        force 'com.google.android.exoplayer:exoplayer-ui:2.14.1'
        force 'com.google.android.exoplayer:exoplayer-core:2.14.1'
        // 如果用到其他ExoPlayer组件也可以在这里统一指定版本
    }
}

配置完成后执行flutter clean,再重新运行项目即可。如果使用2.14.1版本出现运行时兼容性问题,可以把上面的版本号统一替换为2.12.3。

方案2:排除冲突的传递依赖

如果方案1不生效,可在项目android/build.gradle中添加subprojects配置,排除其中一个依赖的冲突组件,手动引入统一版本:

subprojects {
    project.configurations.all {
        exclude group: 'com.google.android.exoplayer', module: 'exoplayer-ui'
    }
    afterEvaluate { project ->
        if (project.name == "zoom") {
            dependencies {
                implementation('com.google.android.exoplayer:exoplayer-ui:2.14.1')
            }
        }
    }
}

其他说明

编译过程中出现的各类插件uses or overrides a deprecated API警告不影响正常编译运行,属于第三方插件未适配最新Android API导致,可忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:06:03