Flutter集成just_audio后Gradle构建报错:重复类问题求助
解决Flutter集成just_audio后ExoPlayer重复类的Gradle构建失败问题
强制统一ExoPlayer版本
在项目的android/build.gradle文件中,找到allprojects下的subprojects块,添加依赖版本强制策略,让所有模块使用同一版本的ExoPlayer(just_audio 0.9.31适配的ExoPlayer版本为2.18.7):subprojects { project.configurations.all { resolutionStrategy { force 'com.google.android.exoplayer:exoplayer-ui:2.18.7' force 'com.google.android.exoplayer:exoplayer-core:2.18.7' force 'com.google.android.exoplayer:exoplayer-downloader:2.18.7' } } }这会让所有依赖的ExoPlayer模块统一版本,直接消除重复类冲突。
排查并处理冲突依赖
执行flutter pub deps --tree命令,查看项目依赖树,找出除just_audio外其他引入不同版本ExoPlayer的依赖:- 若找到冲突依赖,可在
pubspec.yaml中给该依赖添加排除规则,比如:dependencies: 冲突依赖名: ^对应版本号 exclude: group: 'com.google.android.exoplayer' - 或者使用
dependency_overrides在pubspec.yaml中统一指定ExoPlayer相关依赖版本:dependency_overrides: just_audio: ^0.9.31 # 或指定已修复冲突的更高版本
- 若找到冲突依赖,可在
清理缓存并重试
缓存残留也可能导致问题,依次执行以下命令:flutter clean cd android && ./gradlew clean flutter run升级just_audio版本(可选)
如果上述方法无效,尝试升级just_audio到最新稳定版,新版本可能已经修复了依赖冲突问题,修改pubspec.yaml中的版本号后执行flutter pub get即可。
内容的提问来源于stack exchange,提问作者Abdo Morsy
相关产品推荐
相关产品推荐

