android/c++ opencv 攻坚篇(一) ndk运行环境搭建
因公司业务要求,需要涉及到计算机视觉之类的知识,本来本屌身为android界学不动的那类人是不愿意的,无奈被公司领导万般摧残之下,本屌只能硬着头皮搜集资料,敲代码,实验,论证,最终搞定项目。出于增强记忆和乐于分享的目的,在此记录下本技术完整流程!
首先,亮一下本屌的开发工具启动界面,本篇就算正式开始了!
一、android studio配置
1.首先创建一个没有什么卵用的空项目
2.首先确保,你的android studio中安装了sdk 和ndk 以及cmake
3.按住快捷键Ctrl+Shift+Alt+S,检查NDK是否配置成功
4.然后去opencv官网下载(这里我使用的版本是3.4.6,各位随意,大同小异):https://opencv.org/releases/page/2/
把windows和android版本都下载下来,windows版本后面有用,做重点讲解
两种都下载完成后,为以下内容
解压zip
复制../OpenCV-android-sdk/sdk/native/libs/libopencv_java3.so到项目下../opencvdemo/app/src/main/jniLibs/armeabi-v7a/
复制../OpenCV-android-sdk/sdk/native/jni/include下文件夹到项目下../opencvdemo/app/src/main/cpp/include/
在项目../opencvdemo/app/下创建文件CMakeLists.txt,加入如下代码:
cmake_minimum_required(VERSION 3.4.1)add_library( native-lib SHARED src/main/cpp/native-lib.cpp)include_directories(src/main/cpp/include)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}")target_link_libraries( native-lib log opencv_java3 android )
在项目../opencvdemo/app/build.gradle文件中,配置如下
android { .... defaultConfig { .... externalNativeBuild { cmake { cppFlags "" abiFilters "armeabi-v7a" arguments '-DANDROID_STL=gnustl_static' } } ndk { abiFilters 'armeabi-v7a' } } externalNativeBuild { cmake { path "CMakeLists.txt" } }}
在项目../opencvdemo/app/src/main/cpp/下创建cpp文件,取名native-lib.cpp,加入如下代码
#include #include #include extern "C"JNIEXPORT void JNICALLJava_com_liera_opencvdemo_MainActivity_matSource(JNIEnv *env, jobject instance) {}
到此,opencv配置基本结束,下一章节我们讲如何配置windows的opencv环境。(注:因毕竟android上开发opencv实时预览不太方便,所以我们采用在windows上开发运行项目,运行调试通过后一并移植到android项目中)。
本章完。
更多相关文章
- Android(安卓)实现真机远程调试并适应7寸屏大小
- Android(安卓)悬浮窗权限各机型各系统适配大全
- 进阶Frida--Android逆向之动态加载dex Hook(三)
- [置顶] 关于代码家(干货集中营)共享知识点汇总系列——Android
- viewpager实现自动循环轮播图
- android跳转进市场的代码
- android sdk myeclipse8.6
- [应用代码] android源码之多线程断点续传下载
- (详细代码,文末Demo下载)android简单修改密码、登录、注册功能 基于