您的位置:首页 > 编程语言 > Java开发

java.lang.UnsatisfiedLinkError: Couldn't load detection_based_track: findLibrary returned nul

2013-11-19 21:31 477 查看
想在手机端运行OpenCV for Android 里的Face Detection 的 demo,颇不顺意。 说几个要注意的地方,以后遇到新问题再来补充:

1)手机端的OpenCV Manager版本。想在真机上跑含OpenCV的apk,必须在该真机上安装OpenCV Manager。官方提供的OpenCV Manager版本很多,关键是选择一个跟手机的处理器对应的版本,具体的对应关系在这里:点击打开链接(是OpenCV的官网说明手册),如果不清楚自己手机的处理器版本,可以先随意下载一个版本的Manager,点击后在主页面上有相关的信息,然后再去按图索骥。

2)程序强制退出,Logcat提示:java.lang.UnsatisfiedLinkError: Couldn't load detection_based_track: findLibrary returned null。这个问题的排查耗费了点时间,因为之前设置过自动生成.so文件(参见我的另一篇博客的第三大步),但这次控制台是有提示:无法运行程序‘’\ndk-build.cmd‘’:Launching
failed。而这一步就是生成so文件的那步。所以问题的原因就是没有生成对应的函数动态链接库,Library返回null,也就是各种方法无法加载。解决方法是我们再去手动生成so文件,需要在Cygwin下进入face-detection,然后执行$NDK/ndk-build指令,如下图,就会在项目中生成libs和obj两个文件夹,前者就含有对应的so文件,后者的文件含义我还不清楚。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐