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

Kotlin-Android集成OpenCV4.9.0运行报错:找不到libopencv_java490.so库

OpenCV 4.9.0在Kotlin-Android项目中加载本地库失败问题

我给Kotlin-Android项目集成了OpenCV 4.9.0,配置和构建环节都没有报错,但调用VideoCapture截取视频帧时,应用抛出以下错误:

UnsatisfiedLinkError: dlopen failed: library "libopencv_java490.so" not found

但我的项目中实际只有libopencv_java4.so文件,相关代码如下:

object VideoUtils {
    fun getFirsFrameFromVideo(videoPath: String): Mat? {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME)
        val videoCapture = VideoCapture()
        if (!videoCapture.isOpened){
            println("DON'T OPENED VIDEO")
            return null
        }
        val frame = Mat()
        videoCapture.read(frame)
        if (frame.empty()){
            println("EMPTY FRAME")
            return null
        }
        return frame
    }
}

解决办法

  • 直接指定加载存在的库文件
    把代码中的System.loadLibrary(Core.NATIVE_LIBRARY_NAME)替换为:

    System.loadLibrary("opencv_java4")
    

    原因是Core.NATIVE_LIBRARY_NAME在OpenCV 4.9.0中会返回带版本号的opencv_java490,但你的项目里只有不带版本号的libopencv_java4.so,直接指定库名就能匹配到现有文件。

  • 检查OpenCV SDK完整性
    确认你下载的OpenCV 4.9.0 Android包是否包含对应CPU架构的libopencv_java490.so,如果缺失,重新下载完整的OpenCV Android SDK,替换项目中现有的OpenCV库文件。

  • 核对依赖配置
    如果是通过Gradle依赖引入OpenCV,确保依赖版本与本地库文件版本一致,避免版本不匹配导致的库查找失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:43:24