【发布时间】:2014-12-04 15:08:29
【问题描述】:
我目前正在 Android Studio 中开发一个项目,我需要使用一些 OpenCV 库。
我知道 Android Studio 目前不支持 NDK 开发,但在进行研究时,我发现有一些方法可以管理周围的事情。
我按照本教程将 opencv 库添加到我的项目中:
How to use opencv in android studio using gradle build tool?
一切正常,但是当我尝试通过这样做来测试 OpenCV 示例(如“FaceDetection”)时:
转到 OpenCV Android SDK,选择一个您想尝试的示例项目 出去。
首先,删除你自己的项目app/src/main中的‘res’文件夹, 然后将示例中的 res 文件夹放在 app/src/main 中 文件夹。
首先,从 app/src/main 中删除“java”文件夹,然后复制“src” 那里的样本文件夹(注意,必须将 src 重命名为 java)。
如果您使用本机 C++ 文件构建示例,则需要 NDK 安装。从谷歌的开发者门户下载它,然后添加这个 行到您项目顶层的 local.properties,如下 sdk.dir 行:
ndk.dir=/path/to/your/android-ndk构建并运行 例子!
我收到了这些错误:
java.lang.UnsatisfiedLinkError: Couldn't load detection_based_tracker from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.ricardonascimento.opencvexamples-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.ricardonascimento.opencvexamples-2, /vendor/lib, /system/lib]]]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:358)
at java.lang.System.loadLibrary(System.java:526)
问题是在加载库时
// Load native library after(!) OpenCV initialization
System.loadLibrary("detection_based_tracker");
你有什么建议来解决这个问题?我在网上搜索过,但没有找到任何东西。
【问题讨论】:
-
“你有什么建议来解决这个问题” - 确保
detection_based_tracker库位于 APK 的armeabi/文件夹中。 APK 只是一个包含一些额外内容的 ZIP 文件,例如清单和签名。 -
那么你有没有修好它?
标签: java android c++ opencv android-ndk