这篇文章主要记录自己安装和配置 OpenCV4Android SDK的过程。我的安装环境是:win8.1 64位。
当然,在做opencv开发之前,最好是具备一定的开发经验,如:
1. Android上的java开发
2. Java Native Interface (JNI):在java虚拟机上运行本地代码的技术
3. Android Activity和它的生命周期,这是android开发的精华部分
4. Android相机开发的相关知识。
而在配置ADK、Eclipse和ADT等过程中,一直出现很多错误,尽管使用了网上一些很多教程。这些教程的流程大致相同,但一build就会出现非常多的错误。后来在得到论坛的推荐,尝试使用英伟达推出的TADP(Tegra Android Development Pack)全套开发包,包含ADK、Eclipse、NDK和OpenCV等安装包,在安装的过程中会自动配置所有环境变量和相关插件。TADP主要包含以下内容:
Android Development:
Android SDK r24.0.2
Android APIs
Android NDK32 and NDK64 r10d
Android Build Tools r21.1.2
Android Platform Tools r21
Android Support Library r21
Android Support Repository Lbrary r9
Google USB Driver r11
JDK 1.7.0_71
Eclipse 4.3, CDT 8.2.0, ADT 24.0.2
Apache Ant 1.8.2
Gradle 2.2.1
Tegra Libraries and Tools:
Tegra Graphics Debugger 1.3 (Win/OSX/Linux)
Nsight Tegra 2.1, Visual Studio Edition (Win)
Tegra System Profiler 2.2 (Win/OSX/Linux)
CUDA 7.0 BETA on NVIDIA Tegra X1 devices (available on Linux x64 on select devices only. See documentation for details.)
CUDA 6.5 on NVIDIA Tegra K1 devices (available on Linux x64 on select devices only. See documentation for details.)
PerfKit 4.3 (Win/OSX/Linux)
PerfHUD ES 2.2 [NVIDIA® SHIELD™ support requires OTA Update 65+]
OpenCV for Tegra 2.4.8.2
PhysX 3.3 for Android
Google Nexus 9 Tablet Support for NVIDIA Tegra K1 64-bit mobile processor. Note: CUDA is not supported on Nexus 9.
NVIDIA® SHIELD™ Android TV Support
NVIDIA® SHIELD™ Tablet Support
NVIDIA® SHIELD™ Tools Support
NVIDIA® Tegra NOTE 7 Tools Support
Google Project Tango Tablet Development Kit Tools Support
Tegra Samples, Docsand Devices Support
NVIDIA GameWorks OpenGL Samples 2.1
Tegra SDK Samples
Tegra SDK Documentation
Tegra X1 64-bit Based Device Support
Tegra K1 64-bit Based Device Support
Google Project Tango Tablet Development Kit Tools Support
下载地址:
https://developer.nvidia.com/tegra-android-development-pack
注:NVIDIA的Tegra Android 开发包包括一些NVIDIA Tegra平台的特性,但是它并不仅限于Tegra设备使用。官网提到TADP适用于64位windows,但在实际使用时发现TADP下载安装的Eclipse是32位版本,无法兼容64位的JDK,出现了错误:Java was started but returned exit code=13。针对我本人出现的错误,建议使用64位系统的自行下载Eclipse 4.3 64位版本+ADT。
在准备好TADP和自行下载的Eclipse 4.3 64位版本+ADT后,就可以开始整套的安装和配置,打开tadp-4.0r1-windows.exe,提示设置下载软件包的路径和安装路径:
进入下载安装界面,选择需要的组件(这里不要勾选eclipse和ADT),点击next自动下载,在安装过程中会提示你Accept License:
安装完成后,重启计算机,此时除了eclipse和ADT之外其他已经安装完毕。解压Eclipse 4.3 64位版本到TADP的安装路径中,开启eclipse,设定一个Workspace,下一步是安装ADT。
ADT安装步骤如下:
1.Eclipse的菜单栏中,找到:Help -> Install New Software
2.在出现的Install对话框中,选择”Add…”,在弹出的对话框中给ADT插件命名,并指定ADT插件安装包的路径:
3.点击”OK”后,弹出ADT的安装列表,全部勾选,点击Next进行安装。
期间可能会有警告,直接pass~
4.安装完成后重启eclipse,弹出以下对话框,安装成功!
5.在Eclipse的菜单栏中,找到:Window -> Preferences,点击选项卡Android,可以看到已安装的Android API。
6.此时在eclipse中还无法找到Android SDK Manager和Android Virtual Device Manager,因此需要设置ADK的路径,在菜单栏中进入:Window -> Preferences->Android,选择Android SDK的路径(在TADP的安装路径中找到):
7.在弹出的对话框中选择:Use existing SDKs,同时确保Existing Location为Android SDK的安装路径:
8.在完成一系列操作后重启eclipse,可在菜单栏Window下看到:
至此整个环境搭建完成!
我是华丽的分割线
第二部分是演示OpenCV demo测试开发环境是否还有问题。我们要将OpenCV库和例子导入工作空间。OpenCV库打包后做为android库项目,提供给android项目使用,引用一下就行了。每个例子都是引用了opencv库的普通的android项目,所以要打开例子别忘记了先导入库项目。具体步骤如下:
1.打开eclipse,菜单栏找到:File->import:
2.依次打开:General->Existing Projects into Workspace->next:
3.在以下对话框,点击finish加载所有选择项目到工作空间,开始编译:
4.看了Problems窗口,很多错误…网上对于这些问题的解决方法有很多,不尽相同,这里只给出我自己的解决方法:
5.问题解决步骤:
a.右键OpenCV库项目—Android Tools–Fix Project Properties;然后Project–Clean–Clean all project;
b.找到报错的android工程,将修改工程目录下的project.properties文件里的内容target=android-XX,XX部分改成你机器里装过的android SDK版本,这些版本可以通过Window -> Preferences->Android中查看。
c.至于在problems视图里面出现其他错误,只能继续认真检查代码是否有其他问题了。
6.在完成了步骤b后,所有错误消失了,接下来可以运行各个OpenCV的实例。如果有安卓手机,通过USB连接至电脑,然后右击一个项目,在“Run As”窗口中选择“Android Application”。
7.然后Console中又出错了,原因是:The connection to adb is down, and a severe error has occured. 如果adb.exe路径没有问题,可以尝试:help->Check for update,检查了更新,然后重启了eclipse。问题就解决了…
8.在安卓手机上运行OpenCV项目时,请确保手机已安装OpenCV Manager,否则会提示以下信息:
9.demo运行成功!可以开始OpenCV4Android开发了!