本文主要介绍在Windows上使用Cygwin工具构建Android OpenCV 2.2 以及 CVCamera Sample的过程。

参考:

http://opencv.willowgarage.com/wiki/Android2.2

准备:

JDK - http://www.oracle.com/technetwork/java/javase/downloads/index.html
Cygwin - 选择ftp://mirrors.kernel.org这个镜像,搜索 Devel Install 安装 gcc、make、swig等工具
Crystax NDK - http://www.crystax.net/android/ndk-r4.php
Ant - http://ant.apache.org/
Android SDK - http://developer.android.com/sdk/index.html
(最新代码) - svn checkout https://code.ros.org/svn/opencv/trunk/opencv)

安装好以上包之后,系统环境变量里Path需要添加Cygwin,Ant,Android SDK等包的可执行文件目录。


构建过程:

1.Crystax NDK支持C++的RTTI、STL Ecxeption等特性,下载之后必须解压到你的Home目录下(如C:/cygwin/home/username),
在Cygwin中用ls检查一下android-ndk-r4-crystax目录是否包含了以下内容:
~/android-ndk-r4-crystax$ ls
build docs GNUmakefile ndk-build ndk-gdb README.TXT samples sources

2.安装Android SDK

安装Android SDK 可以参考coolshell上的一篇文章,图文并茂:
《Eclipse开发Android应用程序入门》http://coolshell.cn/articles/4270.html
其中还有配置 Eclipse的过程与入门示例。
这一步只需要安装好所下载的SDK即可。

3.构建android for OpenCV(假定OpenCV的主目录为C:/opencv):

进入Cygwin
$cd c:
$cd opencv/android
$mkdir build
$cd build
$cmake ..
$make

4. 构建android-jni:

进入Cygwin
$cd opencv/android/android-jni
$make
此处,第一次make时可能会出现“local.env.mk”相关的警告,不管再make一次即可

进入Window命令行程序

在android-jni目录下,执行Android SDK/tools中的android.bat:
C:/opencv/android/android-jni> android update project --name android-opencv --path ./
C:/opencv/android/android-jni> ant compile
此处,如果ant过程中出现以下错误:
BUILD FAILED
<android-sdk-root>/tools/ant/lib_rules.xml:121: Refrence android.libraries.src not found
找到android-jni目录中的build.xml文件,在</setup>后添加:
<path id="android.libraries.src"><path refid="project.libraries.src" /></path>
<path id="android.libraries.jars"><path refid="project.libraries.jars" /></path>
重新执行ant compile即可。
(问题参考: http://code.google.com/p/android/issues/detail?id=13024)

5. 构建CVCamera工程:

进入Cygwin
cd opencv/android/apps/CVCamera
sh build.sh
同样,第一次执行时可能会出现“local.env.mk”相关的警告,再执行一次

进入Window命令行程序

在CVCamera目录下,执行Android SDK/tools中的android.bat:
C:/opencv/android/android-jni> android update project --name CVCamera --path ./
C:/opencv/android/android-jni> ant debug
C:/opencv/android/android-jni> ant install

这里我碰到了BUILD FAILED

AndroidSDK/tools/ant/main_rules.xml:639: The following error occurred while executing this line:
AndroidSDK/tools/ant/main_rules.xml:271: exec returned: 1
查看main_rules.xml的271行:
<exec executable="${adb}" failonerror="true">改为<exec executable="${adb}" failonerror="false">
重新ant install成功

到这里,Android OpenCV2.2 与 CVCamera便构建完毕了。

----------------------------------

作者:小斤(陈忻)

本文属于原创文章,如需转载引用请注明原文作者和链接,谢谢。

更多相关文章

  1. android 游戏开发过程中让图片自适应
  2. android支付宝支付开发过程
  3. Android(安卓)Binder机制(3) 本地服务注册过程
  4. Android游戏框架AndEngine使用入门
  5. Android(安卓)Camera预览过程数据流浅析
  6. Error:(17, 0) Could not find method android() for arguments
  7. Android模块编译过程中的错误no rules to make target
  8. fix android build error : undefined reference to __gxx_perso
  9. Linux 内核启动挂载android根文件系统过程分析

随机推荐

  1. Android - 对话框(Dialog)和通知(Notific
  2. 获取Android系统程序信息
  3. Android之针对webview的缓存
  4. android 8.0 service
  5. android的一些组件学习
  6. android webview 7.0 h5调用打电话解决方
  7. view call stack of crashed application
  8. Android 自定义Animation,使用Camera对Vie
  9. android palette
  10. Android将Activity打成jar包供第三方调用