You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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仓库,把编译好的包传进去,再通过仓库引入。

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

火山引擎 最新活动