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文件,后者的文件含义我还不清楚。
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文件,后者的文件含义我还不清楚。
相关文章推荐
- java.lang.UnsatisfiedLinkError: Couldn't load detection_based_track: findLibrary returned null解决办法
- java.lang.UnsatisfiedLinkError: Couldn’t load locSDK3: findLibrary returned null
- Android中运行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
- Android中运行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
- Android 百度地图 java.lang.UnsatisfiedLinkError: Couldn't load vi_voslib: findLibrary returned null
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
- Cocos2dx:java.lang.UnsatisfiedLinkError:findLibrary returned null 惊魂一个月
- Android 百度地图 java.lang.UnsatisfiedLinkError: Couldn't load vi_voslib: findLibrary returned null
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load microphone: findLibrary returned null
- java.lang.UnsatisfiedLinkError,findLibrary returned null的一种可能的解决方式
- Android Java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
- 开发错误记录13:java.lang.UnsatisfiedLinkError: Couldn't load xxx.so: findLibrary returned null
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
- Android中运行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load zbar: findLibrary returned null
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
- java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
- Android中运行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null.
- java.lang.UnsatisfiedLinkError: Couldn’t load locSDK3: findLibrary returned null.