版权信息
省级大型综合性科技类期刊
主管部门:自治区科技厅
主办单位:自治区科学技术信息研究院 
协办单位:自治区科学技术情报学会
编辑出版:科技期刊编译室
刊社地址:内蒙古呼和浩特新城西街149号本刊杂志社
邮政编码:100010
电      话:0471-2536371

E-mail  :

nmgkjzz@vip.163.com 

网站地址:www.nmgkjzz.com


往期杂志
当前位置: 首页>往期杂志>详细介绍

基于安卓系统的NDK开发环境的搭建

时间:2016-07-28来源: 作者: 点击: 149次


黄海南

(广州中医药大学 医学信息工程学院,广东 茂名)

 

摘 要:本文主要介绍了安卓系统,以及跟搭建NDK环境相关的软件和工具,详细地描述搭建NDK环境的每一个步骤。最后,通过新建一个安卓项目,生成so函数库,对搭建好的环境进行测试,并取得满意的结果。

关键词:安卓系统、NDKEclipse环境搭建

 

Environment of the building of the NDK based on

The Android System

 

Abstract: Building the NDK environment is mainly introduced in this paper, as well as the related software and the Android System.At first,I describe in detail to build the NDK environment of each step.Finally, through a new android project, generated So libraries, test on the built environment, and achieved satisfactory results.


Key words: Android System ,NDK, Eclipse,Environment of the building 


目录

TOC \o "1-3" \h \u 1. 安卓系统的简介........................................................................................................ PAGEREF _Toc28050 4

2. NDK的介绍................................................................................................................ PAGEREF _Toc14112 4

3. 开发环境的搭建........................................................................................................ PAGEREF _Toc32293 5

3.1. 所需的软件或者工具....................................................................................... PAGEREF _Toc6197 5

3.2. 总体流程......................................................................................................... PAGEREF _Toc11804 5

3.3. 具体步骤......................................................................................................... PAGEREF _Toc27600 6

3.4. 环境的测试.................................................................................................... PAGEREF _Toc29029 19

4. ........................................................................................................................ PAGEREF _Toc11718 21

5. 参考文献................................................................................................................. PAGEREF _Toc13753 21

 

1. 安卓系统的简介

安卓系统是一个基于Linux内核开放移动操作系统,由Google成立的Open Handset AllianceOHA,开放手持设备联盟)持续领导与开发,主要设计用于触屏移动设备如智能手机平板电脑。该平台由操作系统、中间件、用户界面和应用软件组成。Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。




2. NDK的介绍

Android NDK,即Native Development Kit。它提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将sojava应用一起打包成apkNDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件,告诉编译器怎样生成动态库,就可以创建出so文件。NDK可以自动地将soJava应用一起打包,极大地减轻了开发人员的打包工作。

搭建Android NDK的开发环境,可以对安卓项目进行java调用c的开发模式,运用jni技术完成安卓项目的底层工作。

3. 开发环境的搭建

3.1.     所需的软件或者工具

1. JDK

JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。

2. Eclipse

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。在Eclipse上开发项目特别方便,因为它集成了大量的插件。Eclipse不仅可以作为java项目、web项目的开发,还可以集成安卓项目的开发。

3. Android SDK ADT

Android SDK指的是安卓的软件开发工具包。ADTandroid  Develop Tool,指的是安卓开发工具。如果Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,就可以实现Android开发提供开发工具的升级。

4. Cygwin

Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件。Cygwin 提供一个UNIX 模拟 DLL 以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。这里通过Cygwin执行相关的命令,生成so函数库。

          

3.2.     总体流程

3.3.     具体步骤

第一步:安装JDK

 下载jdk,用鼠标左键双击JDK安装包进行安装,点击“下一步”或者自定义安装。

第二步:配置JDK的变量环境

右击“我的电脑”,选择“属性”,在打开窗口中点击左边的“高级系统设置”,出现“系统属性”窗口,在“高级”选项卡下面点击“环境变量”,然后“新建”。

在“变量名”输入框中写入“JAVA_HOME”,在“变量值”输入框中写入“d:\Program Files\Java\jdk1.7.0_07” (根据安装路径填写),然后点击“确定”,java_home就设置完成了。



接着,开始“classpath”的配置:

选中“系统变量”查看是否有classpath项目,如果没有就点击“新建”,如果已经存在就选中classpath选项,点击“编辑”按钮,然后在“变量名”中填写“classpath”,在“变量值”中填写“d:\Program Files\Java\jdk1.7.0_07\jre\lib”(根据安装路径填写)。

然后是对path”的配置:“path”的配置跟“classpath”类似,“变量名”输入框填写“path”,“变量值”输入框填写“d:\Program Files\Java\jdk1.7.0_07\bin”(根据安装路径填写)。

第三步: 安装Eclipse

Eclipse不需要安装,下载后把解压包解压到你想安装的地方,打开时设置你的工作目录即可。

第四步:安装Android SDK

配置了JDK变量环境,并且安装好了Eclipse之后,就可以进行JAVA应用程序的开发了。但是要通过Eclipse来开发Android应用程序,我们还需要下载Android SDK,在Eclipse安装ADT插件。ADT插件能让EclipseAndroid SDK关联起来。这里我们选择单独下载Android SDK。下载后双击安装,指定Android SDK的安装目录,然后在系统环境变量中的Path设置Android SDK的安装目录下的tools目录。

Android SDK的安装目录下,双击“SDK Manager.exe”,打开Android SDK ManagerAndroid SDK Manage负责下载或更新不同版本的SDK包,我们看到默认安装的Android SDK Manager只安装了一个版本的sdk tools

打开Android SDK Manager,它会获取可安装的sdk版本

第五步:为Eclipse集成ADT插件

经过前面的步骤,我们已经配置好了java的开发环境,安装了开发AndroidIDE,下载安装了Android SDK,现在我们需要将EclipseAndroid SDK进行关联。

下面是在线安装ADT的方法:

启动Eclipse,点击 Help菜单 -> Install New Software->点击弹出对话框中的Add按钮。
 


然后在弹出的对话框中的Location中输入:http://dl-ssl.google.com/android/eclipse/Name可以输入ADT,点击“OK”按钮。

在弹出的对话框选择要安装的工具,然后点击下一步进行安装。

安装好后会重启EclipseEclipse会根据目录的位置智能地和它相同目录下Android sdk进行关联。

如果Eclipse没有自动关联Android sdk的安装目录,那么你可以在打开的Eclipse选择 Window -> Preferences ,在弹出面板中就会看到Android设置项,填上安装的SDK路径,则会出现刚才在SDK中安装的各平台包,按OK完成配置。


到这里,我们在windows上的Android上的开发环境搭建就完成了,这时候,你通过用EclipseFile-> New-> Project步骤建立Android项目了。

第六步:安装Cygwin

下载Cygwin后,双击setup.exe,然后点击下一步:

第一个选项是在线安装,第二个选项是只下载不安装,第三个指通过已经下载的本地安装包安装,若是第一次安装,选中第一个即可(默认)。下一步,指定安装目录,下面的单选框默认即可。下一步,选择下载的安装包存放路径,下一步。

选择连接方式,第一个(默认)即可,然后点击下一步。

选择一个镜像站点,任选一个即可。

然后会从选中的镜像站点中下载两个文件,稍等下载,然后点击下一步

这一步很关键,选择要下载和安装的包,根据你的需要选择包,选的包越多所需的下载时间就越长。这里选一个最新的版本号即可,下边的那个复选框选择默认。

单击下一步开始安装,最后会让你让你选择是否生成快捷方式,然后安装就完成了。

第七步:安装CDT

1.进行下列步骤,Eclipse->Help->Install New Software

2.在Work With中,选择当前Eclipse版本的那个地址:

Juno – http://download.eclipse.org/releases/juno

3.然后搜索CDT



4.下一步后,可以看到详细信息:

5.接受条款

6.然后进行下载和安装



7.安装完CDT后重启Eclipse

8.重启Eclipse后,按照步骤Window->Preferences,可以看到以下界面

说明CDT安装成功。

3.4.     环境的测试

首先新建安卓项目,然后编写c代码,编写Android.mk文件告诉编译器如何把c代码打包成函数库,执行相关命令生成so文件。

1.新建安卓项目,编写c代码

2.编写Android.mk文件

3.运行Cygwin,进入项目空间,执行ndk-build命令生成so文件,出现以下结果

Compile thumb  : hello <= Hello.c

SharedLibrary  : libhello.so

Install        : libhello.so => libs/armeabi/libhello.so

表明NDK环境搭建成功

 

 

4. 总结

本文可以概括为,先简单地介绍了安卓系统,然后再介绍NDK,最后介绍搭建NDK所需的软件或者是工具,然后具体地介绍怎样去搭建基于安卓系统的NDK开发环境。最后在搭建完成后进行环境搭建的测试。

5. 参考文献

[1] 360百科,http://baike.so.com/doc/456230-483111.html

[2] 维基百科,https://zh.wikipedia.org/wiki/Android

[3] Google 安卓,官方网站http://www.android.com

 


本刊创刊于1982年,是由自治区科技厅主管、自治区科技信息研究院主办,由自治区科技情报学会协办、国内外公开发行的省级综合性科技刊物,是反映内蒙古自治区科技与经济发展的窗口。杂志入选《中国期刊全文数据(CJFD)》全文收录期刊和《中国学术期刊综合评价数据(CAJCED)统计刊源期刊,《中国核心期刊(遴选)数据库》收录。本刊是公开发行的综合性科技期刊,为月刊,大16开本。本刊坚持以科技创新为目标,融科技、经济、信息、产业、市场为一体,是促进科技成果转化、推动科技进步、加强技术创新,促进经济发展的专业性期刊。