Android环境下FFmpegKit-Full依赖缺失导致编译失败求助
Android环境下FFmpegKit-Full依赖缺失导致编译失败求助
针对你遇到的com.arthenica:ffmpeg-kit-full:6.0-2依赖找不到的问题,我分享几个实际可行的解决思路,都是自己踩过类似坑后的经验:
1. 寻找靠谱的Fork仓库引入
你提到找到过带https版本的Fork,可以扩大搜索范围:去GitHub上搜索ffmpeg-kit-full 6.0-2,找那些明确标注保留了旧版本二进制的仓库。找到后,在项目的根目录build.gradle里添加这个Fork的Maven仓库地址,替换掉默认的依赖源:
allprojects { repositories { // 先添加这个Fork的仓库 maven { url "https://raw.githubusercontent.com/[Fork用户名]/[仓库名]/[分支]/maven" } // 原有的仓库保留 google() mavenCentral() jcenter() } }
然后确保pubspec.yaml里的ffmpeg_kit_flutter_full版本还是6.0-2,重新同步Gradle应该就能拉到依赖了。
2. 手动构建Full版本包(最稳妥但费时间)
如果找不到现成的Fork,只能自己动手编译了:
- 从FFmpegKit官方仓库拉取6.0-2版本的源码(注意要切到对应的tag:
git checkout 6.0-2) - 按照官方Android编译指南,配置好NDK和编译环境,指定编译
full变体:./android.sh --enable-full - 编译完成后会生成
ffmpeg-kit-full-6.0-2.aar和对应的POM文件,你可以:- 把AAR放到项目的
app/libs目录,添加本地依赖:implementation files('libs/ffmpeg-kit-full-6.0-2.aar') - 或者搭建本地Maven仓库,把编译好的包传进去,再通过仓库引入。
- 把AAR放到项目的
3. 替换为其他可用版本(最快的临时方案)
如果你的项目不是强依赖6.0-2版本,建议直接升级/降级到官方还保留的版本:
- 去Maven Central搜索
ffmpeg-kit-full,确认哪些版本的POM文件还能正常访问 - 修改
pubspec.yaml里的依赖版本,比如换成6.1版本:dependencies: ffmpeg_kit_flutter_full: ^6.1.0 - 同步后重新构建项目,这个方法能快速解决编译问题,不过要注意测试下功能兼容性。
4. 找社区分享的离线包
你可以去Flutter开发者论坛、Android开发社群或者FFmpegKit的Discord频道问问,很多开发者会备份旧版本的依赖包。如果有人分享ffmpeg-kit-full-6.0-2的AAR和POM文件,直接用本地依赖引入就行,步骤和手动构建后的本地依赖方式一致。
另外提醒下,以后遇到这种依赖突然消失的情况,最好提前把项目用到的关键依赖备份到本地Maven仓库或者私有镜像,避免官方删包导致项目瘫痪。
内容来源于stack exchange




