首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本机Activity OpenCV4Android不工作

本机Activity OpenCV4Android不工作
EN

Stack Overflow用户
提问于 2013-05-05 21:35:33
回答 3查看 2.6K关注 0票数 3

我已经下载了最新版本的OpenCV4Android,2.4.5版本,并在下载了所有正确的插件后将其导入Eclipse Juno。

除了Native Activity之外,所有的教程在我的Android模拟器上都工作得很好。当我试图在我的模拟器上运行它时,应用程序停止,并显示以下消息:"OCV本机活动已不幸停止“。

我的logcat是:

代码语言:javascript
复制
05-05 13:24:54.489: E/AndroidRuntime(884): FATAL EXCEPTION: main
05-05 13:24:54.489: E/AndroidRuntime(884): java.lang.UnsatisfiedLinkError: Couldn't load native_activity from loader dalvik.system.PathClassLoader[dexPath=/data/app/org.opencv.samples.NativeActivity-2.apk,libraryPath=/data/app-lib/org.opencv.samples.NativeActivity-2]: findLibrary returned null
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.Runtime.loadLibrary(Runtime.java:365)
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.System.loadLibrary(System.java:535)
05-05 13:24:54.489: E/AndroidRuntime(884):  at org.opencv.samples.NativeActivity.CvNativeActivity$1.onManagerConnected(CvNativeActivity.java:22)
05-05 13:24:54.489: E/AndroidRuntime(884):  at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1101)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1118)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.os.Handler.handleCallback(Handler.java:725)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.os.Looper.loop(Looper.java:137)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.reflect.Method.invokeNative(Native Method)
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.reflect.Method.invoke(Method.java:511)
05-05 13:24:54.489: E/AndroidRuntime(884):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-05 13:24:54.489: E/AndroidRuntime(884):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-05 13:24:54.489: E/AndroidRuntime(884):  at dalvik.system.NativeStart.main(Native Method)

我能做些什么来解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2013-05-05 22:23:35

仿真器找不到本机库

代码语言:javascript
复制
                        System.loadLibrary("native_activity");

您必须首先从openCV_sdk安装apk。该文件位于示例中

代码语言:javascript
复制
    example-native-activity.apk

然后,您就可以在eclipse上使用代码了。

票数 0
EN

Stack Overflow用户

发布于 2013-05-28 08:53:08

你应该首先尝试编译一个库。只需输入android项目的根目录并执行

代码语言:javascript
复制
/home/user/android-ndk-r8b/ndk-build -C ./

其他示例

代码语言:javascript
复制
/home/user/android-ndk-r8b/ndk-build -C /home/user/opencv/OpenCV-2.4.5-android-sdk/samples/face-detection

这将在你的文件夹中建立一个库,例如。

代码语言:javascript
复制
/home/user/opencv/OpenCV-2.4.5-android-sdk/samples/face-detection/libs/armeabi-v7a/libdetection_based_tracker.so

有用的链接:android_dev_introO4A_SDKandroid

票数 0
EN

Stack Overflow用户

发布于 2013-07-30 19:13:28

这可能是它失败的原因之一:

CDT Builder是为Windows主机配置的,在Linux或MacOS上...删除".cmd“并保留"${NDKROOT}/ndk-build”。(转到属性-> C/C++ Build -> Builder -> Build命令并删除".cmd",您可能还需要删除左引号(")和右引号(")。)

其次,在build/auto-build之后检查项目是否包含libs/architecture/libmodule-name.so。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16385065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档