加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – OpenCV 2.4.1:UnsatisfiedLinkError

发布时间:2020-12-14 05:55:51 所属栏目:Java 来源:网络整理
导读:我有一个 Android项目,它有本机代码.在这个原生部分,我使用OpenCV. 当我使用OpenCV 2.3.1时,一切都编译好了,但是当我试图切换到版本2.4.1时,我遇到了问题: 它编译没有任何错误,但是当我启动我的应用程序时,由于UnsatisfiedLinkError,它无法加载我的库. Cann
我有一个 Android项目,它有本机代码.在这个原生部分,我使用OpenCV.
当我使用OpenCV 2.3.1时,一切都编译好了,但是当我试图切换到版本2.4.1时,我遇到了问题:

它编译没有任何错误,但是当我启动我的应用程序时,由于UnsatisfiedLinkError,它无法加载我的库.

Cannot load library: link_image[1936]:    37 could not load needed library 'libopencv_java.so' for 'mylibrary.so' (load_library[1091]: Library 'libopencv_java.so' not found)

我看到Open CV尝试加载libopencv_java.so,但我不需要它,我不在java代码中使用OpenCV.该库的大小> 5M.

如何编译而不将此lib添加到项目中?

解决方法

除了C OpenCV接口的JNI包装器之外,libopencv_java.so还包含所有OpenCV本机代码.
当您使用OpenCV 2.4 for Android构建JNI库时,您可以使用libopencv_java.so(默认选项)动态链接,并通过显式添加此选项将其包含在您的APK或静态链接中:
include $(CLEAR_VARS)
OPENCV_LIB_TYPE:=STATIC
include <your path>/OpenCV.mk

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读