菜单
  

    重启完Ecplise后,点击菜单"Window"->"Preference",打开了配置窗口,在左边选中Android,在右边输入 Android SDK的路径(即Android SDK的解压目录),点击"OK",如图5。至此环境配置完毕。
     
    图5.配置SDK路径
    至此,Android的Java开发环境搭建完毕。
    2.2    本地编译开发环境——Android NDK、Cygwin
    Android 应用程序开发采用Java 编程语言,但OpenCV 是用C/C++编写的程序,这就涉及到Java 与C/C++混合编程、Java 程序与C/C++程序互相调用的问题,故需要利用JNI 编写本地代码,并采用Android NDK 编译本地代码。而NDK编译本地代码需要在Cygwin模拟的unix/linux环境下进行。因此,在Windows 系统下,还需要安装与配置Android NDK与Cygwin。
    2.2.1    交叉编译环境Cygwin
    Cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作, 尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。
    下载 Cygwin1.7 或更高版本用来在Windows 环境下模拟Linux 环境,在此Linux 模拟环境中利用NDK 对本地代码进行编译。安装cygwin,从Devel 树结构中获得autoconf2.1、automake1.10、binutils、gcc-core、gcc-g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、GNU Make 3.81共12个包,由于这些包都在Devel中,为免漏选,可直接将Devel选为“Install”,如图6。
     
    图6.选择需要下载安装的工具包
    完成安装后在桌面上会出现cygwin程序的快捷方式,运行此程序,在命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如图7,然后依次输入gcc –version,g++ --version,make –version,gdb –version等进行测试,如果都打印出版本信息和一些描述信息,如图8,则cygwin安装完成。此程序相当于Linux 模拟环境下的shell,完成命令行的输入。
     
    图7.cygwin的版本和描述信息
     
    图8.工具包的版本和描述信息
    2.2.2    Android NDK及其配置
    Android NDK ,即Android Native Development Kit,因此又被称为“NDK”。在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。NDK的公布可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。 Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。
    将下载的NDK解压后需要进行配置。在 Windows 系统中新建一环境变量,将其命名为NDK,变量值定义为NDK 所在文件夹的路径,但其目录结构必须是Cygwin形式。在Cygwin 所创建的Linux 模拟环境中,目录结构与Windows 环境不同,比如E 盘下“E:\undergrdt\tools\android-ndk-r8”文件夹,在Cygwin 模拟Linux 环境中的目录就是“/cygdrive/e/undergrdt/tools/android-ndk-r8”。
    配置完成后,在Cygwin中输入命令“cd $NDK”,则会指向NDK所在的目录,如图9。
     
    图9.cygwin指向NDK所在目录
    2.2.3    利用Android NDK本地编译
    Android NDK提供了一系列的工具,可以帮助快速开发C(或C++)的动态库。Android NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),利用Cygwin就可以创建出so。SDK可以自动地将so和Java应用一起打包成apk。
  1. 上一篇:云计算判题核的设计与实现+文献综述
  2. 下一篇:FLASH MTV制作+文献综述
  1. 基于MATLAB的图像增强算法设计

  2. 基于Kinect的手势跟踪与识别算法设计

  3. JAVA基于安卓平台的医疗护工管理系统设计

  4. 基于核独立元分析的非线...

  5. 基于Hadoop的制造过程大数据存储平台构建

  6. 基于安卓系统的测量软件...

  7. 基于VC++的GIS矢量图形系统开发

  8. java+mysql车辆管理系统的设计+源代码

  9. 电站锅炉暖风器设计任务书

  10. 杂拟谷盗体内共生菌沃尔...

  11. 酸性水汽提装置总汽提塔设计+CAD图纸

  12. 大众媒体对公共政策制定的影响

  13. 十二层带中心支撑钢结构...

  14. 当代大学生慈善意识研究+文献综述

  15. 河岸冲刷和泥沙淤积的监测国内外研究现状

  16. 乳业同业并购式全产业链...

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回