使用OpenCV时遇到了一些问题,这里记录一下.
1.准备工作
工具:
AndroidStudio :3.6.1
OpenCV:4.2.0
OpenCV有编译好的,可以直接从官网下载.
进入官网->点击Releases->选择Android,开始下载.
下载好的OpenCV目录结构如下:
然后sdk->native.
native的目录结构如下:
其中jni/include是我们需要的头文件
libs是我们需要的.so文件,包含不同的平台
2.androidstudio中配置
我们将需要的文件拷贝,拷贝后我的目录结构如下:
include直接拷贝到了cpp目录下,.so文件拷贝到了jniLibs目录下
其中jniLibs是手动创建的,与java平级.拷贝到工程的libs也可以,但要在对应模块的build.gradle中指定.
接着在cmakelist中配置:
配置头文件的位置: include_directories(…/cpp/include)
添加库:
//so库名字叫libopencv_java4
add_library(opencv_java4
SHARED
IMPORTED)
set_target_properties(opencv_java4
PROPERTIES IMPORTED_LOCATION
//这里我使用了全路径
/xxx/libopencv_java4.so)
最后在target_link_libraries中添加opencv_java4
最后如果运行报错"library “libc++_shared.so” not found"错误,
在模块的build.gradle中添加
arguments “-DANDROID_STL=c++_shared”