很多实验室或者公司以前大部分的工作都是利用c/c++进行开发的,如果把这些代码使用java重写是不现实的,所以需要利用NDK调用公司已经存在的大量的c/c++代码。
目前OPENCV已经提供了Android 版本的API,如果你的工程完全是新的, 没有任何需要使用以前c/c++代码,那么还是建议你直接使用opencv Android版本的java API,使用NDK的效率并不一定会提高。本文主要是讲怎么利用NDK调用编译本地的c/c++代码。
以上来自于http://blog.csdn.net/watkinsong/article/details/9849973。
一、配置NDK和opencv开发环境
本文假设你是安装配置好了Java和Android SDK开发环境的。
1、下载Android NDK
如果不能打开,使用镜像网址http://www.androiddevtools.cn/ 这个网址SDK什么的都有,非常好用。
下载最新的Android NDK,是一个exe,只需安装到某个路径即可,我的是F:\study\Android_eclipse\android-ndk-r10d,再把这个路径添加到系统的环境变量PATH中。进入 我的电脑->属性->高级->环境变量->系统变量 的path中添加以下环境变量,即上面的路径。
目前我使用的版本是:android-ndk-r10d-windows-x86_64.exe。
打开命令行输入
ndk-build -v
测试配置
如果出现:
说明ndk配置成功!
2、关于Cygwin
网上的教程说需要安装Cygwin,主要使用使用它进行C++代码的编译,但是编译可以使用Cygwin,也可以使用Windows控制台编译,也可以使用Eclipse进行编译,我发现这个Cygwin是没用的。太麻烦,果断不装。
最新下载地址:opencv-android on sourceforge
目前我的版本是:OpenCV-2.4.11-android-sdk.zip
直接解压到某一路径,我的是:F:\study\Android_eclipse\OpenCV-2.4.11-android-sdk,同上,再把这个路径添加到系统的环境变量PATH中。进入 我的电脑->属性->高级->环境变量->系统变量 的path中添加以下环境变量,即上面的路径。
这样就把 android NDK整合opencv开发基本环境搭好了。