libopencv_core的UnsatisfiedLinkError.所以当.apk保存这个库时



我想在Android上使用JavaCv。因此,我遵循此处的建议:https://github.com/bytedeco/javacv关于如何安装Android 2.2或更新版本。因此,以下库可以在libsarmeabi下找到:libjniopencv_core.solibopencv_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。所以via

System.loadLibrary("libopencv_core")

System.loadLibrary("opencv_core")

有相同的结果…

如果您能提供一些解决这个问题的建议,我将不胜感激。

Edit1:

我看了看哪些。so文件实际上可以在/data/app-lib/ccc.android.myappname下找到…

尽管libopencv_core

。所以和其他文件可以在我的。apk中lib/armeabi/下找到,只有其中一些可以用于我在/data/app-lib/ccc.android.myappname下的活动。

谁能帮帮我,我不知道发生了什么事

谢谢。

我找到的解决方案如下:

我在Github上的JavaCv板上讨论了这个问题:

https://github.com/bytedeco/javacv/issues/28

这个问题可能会在下一个版本中成为历史,但在此期间请做以下操作:

在第一次使用JavaCv之前运行:

static {
        System.loadLibrary("tbb");
        System.loadLibrary("opencv_core");
        System.loadLibrary("jniopencv_core");
}

最新更新