java.lang.Error: FFmpegKit failed to start on brand:

如果你使用FFmpegKit的时候遇到了这个问题:

复制代码
java.lang.Error: FFmpegKit failed to start on brand: Xiaomi, model: MI 8, device: dipper, api level: 29, abis: arm64-v8a armeabi-v7a armeabi, 32bit abis: armeabi-v7a armeabi, 64bit abis: arm64-v8a.
                                                                                                     	at com.arthenica.ffmpegkit.NativeLoader.loadLibrary(NativeLoader.java:47)
                                                                                                     	at com.arthenica.ffmpegkit.NativeLoader.loadFFmpegKit(NativeLoader.java:183)
                                                                                                     	at com.arthenica.ffmpegkit.FFmpegKitConfig.<clinit>(FFmpegKitConfig.java:101)
                                                                                                     	at com.arthenica.ffmpegkit.FFmpegKitConfig.parseArguments(FFmpegKitConfig.java:1117)
                                                                                                     	at com.arthenica.ffmpegkit.FFmpegKit.execute(FFmpegKit.java:151)

那么问题原因大概率是:FFmpegKit中的so跟你项目中的重复了,导致加载的时候不是使用的FFmpegKit中的so.

解决方法:

将FFmpegKit中的so复制到项目中的jnilibs目录下。你可不复制全部,可以根据报错复制对应的,一般报错的信息中可以看出需要哪个so

FFmpegKit中的so怎么找到?

当你的项目编译完成的时候,你可以去gradle的缓存目录下去找
open /Users/xxx/.gradle/caches/transforms-3/5704ef9083cbfdcf111cea44a9527f5d/transformed/ffmpeg-kit-full-6.0-2

问题:

当你把FFmpegKit中的so拷贝到项目中,那么之前用到相关so的库可能就用不了了,你可以编译FFmpegKit源码,将所需的库放入FFmpegKit源码中,重命名这些库

相关推荐
架构师沉默5 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群6 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL8 小时前
JVM 类加载:双亲委派机制
java·后端
用户298698530148 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥8 小时前
原来公平锁和非公平锁差别这么大
java
渣哥8 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K9 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7259 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc110 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到13 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java