目录
一. 准备工作
二. 新建项目
二. 环境配置
三. 导入OpenCV可能出现以下错误
完毕!!!
一. 准备工作
1. 下载OpenCV-android-sdk
2. sdk文件结构构成
etc:识别相关的级联分类器之类的
java:这是opencv官方提供的一个opencv的android库工程,提供了完整的opencv能力,因为opencv底层是用c/c++写的,但是现在编程语言很多,java、python等等,所以官方就针对不同的语言平台,对底层库进行了二次封装,使用的时候将该该工程直接作为库导入即可
native:一些native层的库
staticlibs:将不同的功能分别做成.a静态库,可以根据使用到的opencv能力,选择加载相应的.a静态库,有利于降低应用体积
libs:官方根据不同平台架构打好的.so动态库,提供完整的opencv能力,体积稍大,单个架构对应的.so文件体积在10M以上
jni:cmake编译脚本和动态库的头文件
3rdparty:第三方的库
二. 新建项目


运行项目Run,如下图所示:


上图来自下图所示相机按钮Screen Capture

二. 环境配置
1. 将OpenCV Java库作为Module导入。具体步骤为:File->New->Import Module,然后将OpenCV-android-sdk\sdk\java目录导入,如下图,然后Next->Finish。

2. 将文件列表上方的显示模式由Android切换至Project,并展开文件列表。然后分别打开app\build.gradle文件和OpenCVLibrary341\build.gradle文件,将OpenCVLibrary341\build.gradle的几个版本号改成与app\build.gradle文件里相同即可,然后在文本域上方点击Try Again,如下图:



3. 给项目添加OpenCV Java库依赖File->Project Structure,在Dependencies里选择app,右侧进入Declared Dependencies,点击+号,选择Module dependency,进入进界面选择OpenCVLibrary341,OK!如下图:

三. 导入OpenCV可能出现以下错误
library "/vendor/lib64/libopencv_java3.so" ("/vendor/lib64/libopencv_java3.so") needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace:
参考链接: 原生库的命名空间
Framework基础:Android N 公共so库怎么定义呢?
[RK3399][Android7.1] 调试笔记 --- JNI无法访问so提示not accessible
【Android N兼容问题】Android N上系统预置应用调用第三方库初始化失败
【Android N兼容问题】Android N上系统预置应用调用so库失败问题的看法
完毕!!!
参考链接: opencv在android平台下的开发【1】-android studio集成opencv-sdk
OpenCV On Android最佳环境配置指南(Android Studio篇)