我想在Android上使用JavaCv和我的应用程序。
因此,我按照这里的建议:https://github.com/bytedeco/javacv了解如何安装Android 2.2或更新版本。因此,可以在 \ libs \ armeabi 下找到以下库:
libjniopencv_core.so
libopencv_core.so
这两个库的所有类也都存在于我的.apk的classes.dex文件中。 我仍然得到以下例外:
java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "libopencv_core.so" needed by "libjniopencv_core.so"; caused by load_library(linker.cpp:745): library "libopencv_core.so" not found
我尝试通过
加载libopencv_core.soSystem.loadLibrary("libopencv_core")
和
System.loadLibrary("opencv_core")
结果相同..
任何关于如何解决这个问题的提示都将不胜感激。
EDIT1:
我看看/data/app-lib/ccc.android.myappname
...
尽管libopencv_core.so和其他文件可以在我的.apk中的lib/armeabi/
下找到,但只有部分文件可用于/data/app-lib/ccc.android.myappname
下的我的活动。其他人因为某些未知原因而被忽略。
有人可以提供帮助吗,我不知道发生了什么。
谢谢。
答案 0 :(得分:1)
我找到了解决方案:
我在Github上的JavaCv板上讨论了这个问题:
https://github.com/bytedeco/javacv/issues/28
问题可能是下一版本的历史记录,但同时请执行以下操作:
首次使用JavaCv之前:
static {
System.loadLibrary("tbb");
System.loadLibrary("opencv_core");
System.loadLibrary("jniopencv_core");
}
在某些设备(或场合)上,预期的加载顺序会混淆......