今天刚刚碰到这种鬼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等等

更多相关文章

  1. Ubuntu10.04 32位编译Android(安卓)4.0源码
  2. 【小超_U3D】Unity打出Android包,运行报错解决方案
  3. Android(安卓)调试工具集合
  4. Android执行linux外部命令
  5. android studio教程-创建第一个项目Hello World
  6. Android(安卓)技巧:命令行运行 sqlite3
  7. 3.创建第一个android项目
  8. ActionBar的使用——低版本兼容
  9. android中开机自动运行程序

随机推荐

  1. 移动支付之Android(安卓)HCE的基本使用
  2. Android Handler机制2之ThreadLocal
  3. android EditText inputType说明
  4. How to add a new keycode in android
  5. Android架构组件-App架构指南
  6. android studio 怎么做屏幕适配?
  7. LibGDX制作android动态壁纸
  8. 第一章 andrid visdio 安装
  9. Run Android on Your Netbook or Desktop
  10. Android(安卓)断点续传的原理剖析与实例