标签:
博主QQ:1356438802
前面的文章我已经说了,我的最终目的是要在Android上应用openCV。
刚开始我在Ubuntu虚拟机上搭建了openCV的开发环境,可是虚拟机太卡,我又换到windows下,搭建QT开发环境。
经过两个平台的折腾,我已经对openCV的开发环境滚瓜烂熟了。现在我要在Android上run openCV的应用!!!
耶!
start...(其实我这篇文章也是参考别人的来操作,不过我的方法更简单些!)
一、首先要搭建windows平台的安卓开发环境
这一步呢,其实可以参考我另外一篇文章《如何在Android下使用JNI》,那篇文章是Ubuntu下安装Android开发环境,在windows下也是大同小异,把环境变量加入path即可。我这里有压缩包,解包即可使用,需要的加我QQ。
下面的文章是贴的别人的,也可以参考,不过我嫌他太麻烦。而且我本来就有Android的开发环境。我直接贴过来,少了图片,需要的童鞋建议去看这篇文章的原版:
http://blog.csdn.net/pwh0996/article/details/8957764
================================================================================================
前言:
(这篇文章比较老了~这里给大家一些新的文章链接地址 谢谢大家支持!)
最近android开发异常火热,随着手机性能越来越高,图像处程序也越来越重要,
由于opencv for android 网上教程大多为英文文档,中文教程都为零星篇章,
很少有完整的opencv for android 教程
博主最近正在学习opencv for android 其中走了很多弯路
所以将一些经验写下 帮助大家少走弯路!
只适合初学者 请大神指正,或者绕道吧,走好不送!
注意本文只负责环境的搭建 不负责讲解
按照文章来确保能搭建一个完美的opencv for android 的开发环境
但是具体的理解 需要读者自己尝试和摸索!
准备工具:
- win7/win8 环境我是win8环境
- java SDK 6 / 7 我是用的6
- eclipse for java EE IED我是32位版
- ADT插件
- CDT插件
- Android SDK
- Android NDK我的是r8版
- cygwin
- Sequoyah
- opencv for android我用的是2.4.5
android环境搭建:
java SDK安装:
如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:
- 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
- JAVA_HOME值为: D:\Program Files\Java\jdk1.6.0_18(你安装JDK的目录)
- CLASSPATH值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
- Path: 在开始追加 %JAVA_HOME%\bin;
- NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:
eclipse 安装:
1.下载
2.解压到任意目录
3.去目录启动
4.设置工作路径
5.安装完成
Android SDK安装:
在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。
- 运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force https://..."这项,再点击Available Packages 。
- 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包
- 在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\AndroidDevelop\android-sdk-windows\tools)。
进入cmd命令窗口,检查SDK是不是安装成功。
运行 android –h 如果有类似以下的输出,表明安装成功:
ADT插件安装:
ADT是专门给eclipse开发android的插件
确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer
Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如下图所示:
然后就是按提示一步一步next。
完成之后:
- 选择Window > Preferences...
- 在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:
D:\AndroidDevelop\android-sdk-windows - 点击Apply、OK。配置完成。
创建android AVD模拟器:
android AVD模拟器是一个android的虚拟机用来在pc机上调试android程序用的!
至于如何创建 这里就不说了 因为我使用真机调试所以没有用这个
以上 android 的开发环境就搭建完毕了 如果有任何问题请自行google,这个资料太多了!
总会有一个适合你
NDK + Cygwin 环境搭建:
安装Android NDK:
1.下载Android NDK 我下载的是 r8版本 地址就不给除了 自己google吧
2.解压到任意目录 我解压的目录是e:/IDE/ 下
3.完成
安装Cygwin:
Cygwin 是一个将c++代码编译成os动态库的东西, 而os库就可以给java调用了
这里可能你有疑惑 opencv for android 不是有java的API了么 怎么还要用c++
嗯 只能说JAVA的API还不是很全面 有些东西还是会用到c++的API才行
所以这个是必须的
还有一些有说NDK r8 不需要Cygwin了 但是我不知道怎么弄 我目前还是使用这个的
由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境,下载地址:
http://www.cygwin.com/
下载后是个setup.exe文件,使用过程如下:
第一步:运行setup程序,第一步图略,直接点击Next进入下一步。
第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。
第四步:设置本地包暂存路径
暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式。
第五步:设置网络连接方式
第六步:选择下载站点地址
起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。
第七步:等待加载安装项载入,选择安装项
我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。
第八步:等待下载完成
下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约750M,下载完成后会自动安装到上文设置的安装目录。
提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。
安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:
make -v
和,
gcc -v
如果检测成功,会有make和gcc相关版本信息打印出来,如下图。
可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量
NDKROOT=/cygdrive/e/Andriod/develop/android-ndk-r8
export NDKROOT
其中NDK=/cygdrive/<你的盘符>/<android ndk 目录> ,"NDK"这个名字随便起,以后经常用不要太长。
重启cygwin,输入:
cd $NDK
可进入ndk对应目录说明设置OK。
3.用ls命令查看libs/armeabi/下是否生成了so文件,有libhello-jni.so说明ndk运行正常。
$ ls libs/armeabi/
gdb.setup gdbserver libhello-jni.so
也可以到E:\android\android-ndk-r8\samples\hello-jni\libs\armeabi目录下看有没有生成的.so文件。
2)导入NDK的hello-jni示例到Eclipse中
1.在Eclipse中新建一个Android工程HelloJni。
在Create Android Project时勾选“Create project from existing source”,Location中填E:\android\android-ndk-r8\samples\hello-jni
2.直接以Android Aplication运行com.example.hellojni.HelloJni项目。要先有.so文件才能运行起来。 os放在工程根目录下
CDT插件的安装:
CDT是eclipse开发c++用的插件
CDT插件可以在一个工程中同时开发基于C/C++的Native代码和基于Java的代码,加上Sequoyah插件可以一次编译两部分代码。下载地址:http://www.eclipse.org/cdt/downloads.php
不同eclipse版本要下载对应的包,否则安装不了。
Help-->About Eclipse 下可以看到自己用的版本,我的是 Version: Helios Service Release 2 即Helios版本
http://www.eclipse.org/downloads/download.php?file=/tools/cdt/releases/helios/dist/cdt-master-7.0.2.zip
cdt-master-7.0.2.zip:这个是CDT的离线安装包。(由于文件比较大推荐使用离线包,7.0.2的54.8M,8.1.1的103MB)
安装:Eclipse -> Help -> Install New Software,点击add。
Name:CDT_版本。
Location:点击Archive,定位到下载的“cdt-master-7.0.2.zip”文件。
如果Location的下面出现“Duplicate location”错误,请到Window -> preferences -> Install/Update -> Avaliable Software Site中找到remove掉。
如果出现缺少eclipse包说明你下载的版本和eclipse版本不匹配,重新下载匹配的重新安装就可以了。
另外需要重启eclipse后才生效。
安装完成重启后,在Eclispe中新建一个项目,如果出现了C/C++项目,则表明CDT插件安装成功了。
安装Sequoyah插件:
Sequoyah插件用于设置Android工程对Native开发的支持。
官方网址:http://www.eclipse.org/sequoyah/downloads/
打开上面网址就可以看到具体的安装说明了
Location:http://download.eclipse.org/sequoyah/updates/2.0/
For Helios SR2 Sequoyah version: http://download.eclipse.org/sequoyah/updates/1.0.2/
注:只是安装1.0.2的没有出来“本机开发”的配置所以没法用,本人重新安装了2.0的可以了,这个应该直接安装最新版2.0的就可以了。
在安装界面不要勾选“Group items by category”复选框,选中出现了列表为空(There are no categorized items)的情况。
在“window –> preferences ->Android -> 本机开发”中添加NDK的路径。
这个插件安装后也需要重启eclipse的
重启后右键之前建立的“HelloJni”项目,在“Android Tools”选项中包含“Add Native Support…”选项即成功。
我的Android使用openCV记录(1)
标签:
原文地址:http://blog.csdn.net/luoyouren/article/details/51263252