Flutter Android Gradle构建报错:无法解析ffmpeg-android-java依赖
问题原因
这个报错不是本地配置写错导致的,核心是你要拉的依赖本身就没有可用的构建产物:
- 拉取失败的
com.github.adrielcafe:ffmpeg-android-java:2a627f6ecd是com.github.adrielcafe:AndroidAudioConverter:0.0.8指定的特定commit快照版本,这个提交对应的代码在JitPack从来没构建成功过,根本没有发布过可用的aar、pom文件,所以不管你配多少镜像仓库都搜不到这个包。 - 你贴的根目录build.gradle里没有显式加JitPack仓库,虽然错误日志里出现了JitPack的搜索记录(大概率是其他子模块配置带的),还是建议手动把JitPack加到仓库列表里,避免其他Github开源依赖拉取失败。
解决方法
按优先级从高到低尝试即可:
方案1:强制替换为可用的正式版本
先在根目录build.gradle的allprojects.repositories块最后补上JitPack仓库配置:maven { url 'https://jitpack.io' }再打开app模块下的build.gradle,在和
android配置块同级的位置加以下代码,把传递依赖强制替换为作者发布的最后一个正式稳定版,这个版本和AndroidAudioConverter 0.0.8完全兼容:configurations.all { resolutionStrategy { force 'com.github.adrielcafe:ffmpeg-android-java:0.3.2' } }加完直接同步Gradle就行,绝大多数场景能直接解决。如果之前阿里云镜像返回过404缓存,先把本地Gradle缓存目录(通常是用户目录下的
.gradle/caches)里对应依赖的文件夹删掉再同步,避免缓存干扰。方案2:手动排除传递依赖后引入
如果方案1出现版本兼容报错,找到app模块下引入flutter_plugin_record的依赖行,排除掉冲突的传递依赖,再手动引入可用版本:implementation ('xxx:flutter_plugin_record:你当前使用的版本号'){ exclude group: 'com.github.adrielcafe', module: 'ffmpeg-android-java' } implementation 'com.github.adrielcafe:ffmpeg-android-java:0.3.2'方案3:替换停更的老旧依赖
AndroidAudioConverter和旧版flutter_plugin_record已经停更好几年,有大量Android高版本兼容问题,如果前两个方案都跑不通,直接替换成目前还在维护的录音、音频转码类Flutter插件,从根源上避开这类废弃依赖导致的构建问题。
内容的提问来源于stack exchange,提问作者Huixu
相关产品推荐
相关产品推荐

