Flutter 3.32.4环境下ffmpeg_kit_flutter废弃后依赖缺失导致构建失败求助
Flutter 3.32.4环境下ffmpeg_kit_flutter废弃后依赖缺失导致构建失败求助
嘿,我刚帮好几个开发者解决过一模一样的问题,你遇到的这个构建失败本质是因为ffmpeg_kit_flutter这个包已经被官方废弃了,旧版本依赖的com.arthenica:ffmpeg-kit-https:6.0-2在主流仓库里已经找不到了,给你几个实用的解决方案:
方案一:替换为官方推荐的新版依赖(最推荐)
官方现在把ffmpeg kit拆分成了几个细分包,根据你的功能需求选择就行:
- 打开项目根目录的
pubspec.yaml,删掉原来的ffmpeg_kit_flutter依赖,换成以下其中一个:# 基础功能版(适合大多数场景) dependencies: ffmpeg_kit_flutter_min_gpl: ^6.0.3 # 全功能版(包含所有编解码器和滤镜) # dependencies: # ffmpeg_kit_flutter_full_gpl: ^6.0.3 - 执行
flutter pub get更新依赖,然后执行flutter clean清理缓存,最后重新构建项目。 - 新版包的API和旧包几乎兼容,只需要把导入路径调整一下,比如原来的
import 'package:ffmpeg_kit_flutter/ffmpeg_kit_flutter.dart';换成import 'package:ffmpeg_kit_flutter_min_gpl/ffmpeg_kit.dart';就行。
方案二:临时添加JCenter仓库(不推荐长期用)
如果你暂时不想换包,可以通过添加JCenter仓库来找到缺失的依赖:
- 打开项目的
android/build.gradle文件,找到allprojects下的repositories块,添加jcenter():allprojects { repositories { google() mavenCentral() jcenter() // 新增这一行 } } - 注意:JCenter已经是只读仓库了,未来可能会完全下线,这个只是临时救急的办法,长远来看还是建议换新版包。
方案三:锁定兼容的旧版本依赖
如果一定要用旧的ffmpeg_kit_flutter,可以指定一个依赖仓库还存在的版本:
- 在
pubspec.yaml里把依赖改成:dependencies: ffmpeg_kit_flutter: ^5.1.0 - 这个版本对应的ffmpeg-kit依赖还能在MavenCentral找到,不会出现缺失问题,同样记得执行
flutter pub get和flutter clean后再构建。
内容来源于stack exchange
相关产品推荐
相关产品推荐

