gpt4 book ai didi

java - Android jni 和 opencv 运行时无法加载库

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:54:34 24 4
gpt4 key购买 nike

最近在用opencv写android JNI代码做图片处理。当我将C++代码移植到JNI时,编译没有错误,但是当我在手机上运行代码时,程序一直崩溃。 logcat 显示

'引起:java.lang.UnsatisfiedLinkError:无法加载库:link_image [1892]:无法为'libmixed_sample.so'加载所需的库'libopencv_java.so'(load_library [1094]:库'libopencv_java.so'未找到)'。

错误的意思是没有libopencv_java.so库,所以我把.so复制到JNI文件夹下,再次运行,同样的运行时错误。

我搜索问题的答案,发现“添加”

System.loadLibrary("opencv_java")

to java code'可能会解决问题。我试过了,运行时错误变成了

'引起:java.lang.UnsatisfiedLinkError:无法加载 opencv_java:查找库返回 null'。

我很困惑。我搜索并尝试了很多方法来解决这个问题,但都没有用。

有人知道解决这个问题的方法吗?

非常感谢!

最佳答案

libopencv_java.so 库不应位于 JNI 文件夹中。要从您的 APK 自动安装,请将其放在您的 Android 项目的 libs/armeabi 子目录中。诀窍在于,如果您的项目具有自定义 JNI 代码,则此目录将在 ndk-build 期间被清除。因此,您应该添加

LOCAL_PREBUILT_SHARED_LIBRARIES += ocvj



include $(CLEAR_VARS)
LOCAL_MODULE:= ocvj
LOCAL_SRC_FILES := $(FOO_PATH)/libopencv_java.so
include $(PREBUILD_SHARED_LIBRARY)

也许,您需要添加更多库。也许,您使用 armeabi-v7a 而不是 armeabi。

关于java - Android jni 和 opencv 运行时无法加载库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com