Android bug之 opencv CascadeClassifier
16lz
2021-01-23
今天刚刚碰到这种鬼bug,bug内容如下:
07-22 13:43:20.740 20753-20753/com.jxc.localcamerafacedetect E/AndroidRuntime: FATAL EXCEPTION: mainjava.lang.UnsatisfiedLinkError: Native method not found: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0:()Jat org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0(Native Method)at org.opencv.objdetect.CascadeClassifier.(CascadeClassifier.java:38)at com.jxc.localcamerafacedetect.MainActivity.initializeOpenCVDependencies(MainActivity.java:125)at com.jxc.localcamerafacedetect.MainActivity.onResume(MainActivity.java:398)
在Vivo手机上测试正常,但是在三星手机上却爆出这种bug,刚刚把它解决了,现在记录一下。
具体出现原因不详,但是我找到了一种解决办法:
在Android Studio中,进行opencv开发时,需要先导入 opencv库,即:
但是用vivo手机测试的时候,我并没有导入 opencv 的so库,一样可以运行程序,但是在三星手机上的时候,却不能运行,出现了上面的bug。
因为它的bug的内容是说,没找到native 方法,应该就是没有加载到so库,所以我就给他导入了一个so库(路径:…\OpenCV-2.4.9-android-sdk\sdk\native\libs\armeabi-v7a), 放在 opencv库的src目录下,即:
导入so库以后,再运行,就不会报错了。
还有一种会造成 java.lang.UnsatisfiedLinkError: Native method not found 这样的错误,就是你只导入了一种类型的so库,在部分机型里运行没问题,但是碰到有的机型则会显示除这种错误,这就需要你把其他类型的so文件也导入进来armeabi、armeabi-v7a、mips、x86等等
更多相关文章
- Android camera调用出现错误解决方法
- Cocos2d-x 3.2编译Android程序错误的解决方案
- android 自定义通知消息设置背景色不生效,导致部分机型显示白色字
- Android上的OpenGL ES 使用错误 解决
- Android Studio NDK及so文件开发 以及常见错误
- android 中 unable to start service 错误解决方法
- android SDK升级后错误