You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android P(9.0)及Marshmallow初始化FFmpegFrameRecorder崩溃求助

问题分析与解决方案

从你提供的LogCat日志能明确看到,崩溃的核心原因是无法找到libjniavutil.so本地库,进而引发java.lang.UnsatisfiedLinkError,最终导致org.bytedeco.javacpp.avutil类加载失败,初始化FFmpegFrameRecorder时崩溃。针对Android 9.0(Pie)和Marshmallow的这个问题,你可以按以下步骤排查解决:

1. 确认JavaCV/FFmpeg依赖配置正确性

首先要确保你引入的是适配Android平台的JavaCV依赖,推荐使用带-android后缀的完整平台包,或者针对性引入对应CPU架构的FFmpeg库:

  • 如果你用的是Gradle,建议使用:
    implementation 'org.bytedeco:javacv-platform:1.5.8-android' // 替换为你使用的版本,注意版本要统一
    
    或者单独引入对应架构的库(比如你的设备是arm64-v8a):
    implementation 'org.bytedeco:javacv:1.5.8'
    implementation 'org.bytedeco:ffmpeg:5.1.2-1.5.8-android-arm64' // 版本要和javacv匹配
    
    务必保证javacv和ffmpeg的版本号完全对应,不匹配的版本很容易导致库加载失败。

2. 配置正确的ABI过滤

在你的app模块的build.gradle中,明确指定支持的CPU架构,确保包含日志中显示的arm64-v8a:

android {
    defaultConfig {
        ndk {
            abiFilters 'arm64-v8a', 'armeabi-v7a' // 根据你的目标设备调整,至少包含arm64-v8a
        }
    }
}

这个配置能避免Gradle打包不必要的ABI库,同时确保需要的架构库被正确打包到APK中。

3. 验证APK中的本地库是否存在

打包APK后,解压查看lib/arm64-v8a目录下是否存在libjniavutil.so、libjniavcodec.so等JavaCV相关的.so文件。如果缺失,说明依赖引入过程有问题,需要重新检查Gradle依赖配置,或者尝试清理缓存后重新构建(执行./gradlew clean build)。

4. 手动提前加载本地库(针对Android 9.0)

Android 9.0对动态库加载有更严格的限制,你可以尝试在Application类的onCreate方法中提前手动加载依赖的本地库:

@Override
public void onCreate() {
    super.onCreate();
    try {
        System.loadLibrary("avutil");
        System.loadLibrary("avcodec");
        System.loadLibrary("avformat");
        System.loadLibrary("swscale");
        // 按依赖顺序加载,avutil是基础,必须先加载
    } catch (UnsatisfiedLinkError e) {
        Log.e("YourApp", "Failed to load native libraries", e);
    }
}

这样可以避免FFmpegFrameRecorder初始化时动态加载库出错。

5. 检查混淆配置(如果开启了混淆)

如果你的项目开启了代码混淆,一定要在proguard-rules.pro中添加规则,确保JavaCV相关类不被混淆:

-keep class org.bytedeco.** { *; }
-keep class org.bytedeco.javacpp.** { *; }
-keep class org.bytedeco.javacv.** { *; }
-dontwarn org.bytedeco.**

混淆会破坏JavaCV的类结构,导致类找不到或方法调用失败。

按照以上步骤逐一排查,应该能解决初始化FFmpegFrameRecorder时的崩溃问题。

内容的提问来源于stack exchange,提问作者Dharmik Ghori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:37:29