Android开发技术研究
学 号:************
学生所在学院:信息工程学院
* * * * ***
* * * * ****
教师所在学院:信息工程学院
2012年6月
Android开发技术研究
陈烨
南昌航空大学
摘要
Android平台是Google推出的新一代智能手机平台。本论文深入讨论Android平台的系统架构,并详细介绍了在Windows系统下Android开发环境的搭建。
关键词:Google Android;系统架构;环境搭建
引言
Android一词的本义是指机器人,同时也是Google于2007年11月5日牵手34家移动技术和无线应用领域的领军企业联合组成的开发联盟(Open Handset Alliance)宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。其开放性保证该平台不存在任何阻碍移动产业创新的阻碍,开发人员在该平台开发的所有应用程序,必须是使用java语言编写的,在Android Runtime的Dalivk虚拟机上运行的。
Android系统架构
Android基本上就是一种嵌入式Linux系统再加上一些重要的手机应用开发软件,如果深入研究其系统架构,其整体自底向上由4个主要层次构成,包括Linux Kernel(Linux
内核层)、Library(函数库)和Android Runtime(Android运行时库)、Application Framework(应用软件架构)、Application(应用程序),如图1所示。
图1、Android系统架构
(1)Linux Kernel(Linux内核层):Android基于Linux2.6提供核心系统服务,负责硬件的驱动程序、网络堆栈、电源、系统安全机制、进程管理以及内存管理等功能。Linux Kernel 也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务,分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。特别的是,这个内核操作系统并非GUN/Linux的,所以其系统库、系统初始化和编程接口都喝标准的Linux系统有所不同。它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。
(2)Library(函数库)和Android Runtime(Andriod运行时库):Library(函数库)由大多数开放源代码的函数库组成,包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(Application Framework)展示给开发者,例如准C函数库Libc、OpenSSL、SQLite等;网页函数库WebKit负责Android网页浏览器的运行;媒体库基于PacketVideo的OpenCORE,这些库支持播放和录制许
多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.2、MP3、AAC、AMR、JPG、PNG;界面管理,管理访问显示子系统和无缝组合多个应用程序的二维和三维图像层;LibWebCore,新式的Web浏览器引擎,驱动Android浏览器和内嵌的Web视图;SGL,基本的2D图形引擎;3D库,基于OpenGL ES1.0 APIs的实现。所有应用程序都可以使用的强大而轻量级的关系数据库引擎。
Android Runtime(Android运行时库)是和Library(函数库)并行的,在此提供的Android特有的Java内核函数库与可转换的Java运行码Bytecode,为Android专属的Dalvik Executable(.dex)文件格式的dalvik虚拟机,可以通过Java语言编写Android应用程序,并在Android平台上同时运行多个Java应用程序。Dalvik虚拟机依赖于Linux内核提供的基本功能,如线程和底层内存管理。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机基于寄存器的。
(3)Application Framework(应用软件架构):它是所有Android重点应用程序Framwork API的总集合,主要的目的是让程序开发者可以更方便地使用这些常用的应用程序进行设计架构,以便更快速地开发Android应用程序。而这些常见的API有显示功能,如消息方块、条列消息、按钮、内嵌式浏览器等;消息提供功能,如访问信息、分享信息;资源管理功能,如图形、地方化字符串、布局文件等;提供消息功能,主要用来显示警告消息、特别是当使用者操作错误时,等其它功能。
所有的应用程序其实是一组服务和系统,包括视图,丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。内容提供者,使应用程序能访问其它应用程序的数据,或者共享自己的数据;资源管理器,提供访问非代码资源,如本地化字符串、图像和布局文件;通知管理器,使所有的应用程
序能够在状态栏显示自定义警告;活动管理器,管理应用程序生命周期,提供通用的导航回退功能。
(4)Application(应用程序):最上层的应用程序都是用Java语言开发的应用程序,例如Google Maps、E_mail、即时通信工具、计算机、浏览器、通讯本、MP3播放器等。
Windows下Android开发环境的搭建
在windows下开始Android开发之旅前,首先要进行环境搭建,以下将着重介绍这一过程
1、JDK的下载与安装
Android平台下应用程序的开发时采用Java语言的,所以首先需要下载并安装JDK。打
开
浏
览
器
,
在
地
址
栏输
入
如下地
址
并访问
:
http://java.sun.com/javase/downloads/index.jsp,打开后的页面如图2所示。
图2、JDK下载界面
单击如图2所示的“JDK Download”按钮即可进入下载界面,选择操作系统平台后,就可以下载JDK了,目前最新的JDK版本为JDK 7 Update 5。
双击并运行下载好的JDK安装文件,按照提示将JDK安装到指定的文件夹中,我将它安装到C:\\Program Files\\java\\jdk1.7.0_05目录下。
最重要的是进行环境变量的配置,步骤如下:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
(1) JAVA_HOME值为:C:\\Program Files\\java\\jdk1.7.0_05;
(2) PATH值为:C:\\Program Files\\java\\jdk1.7.0_05\\bin;
(3) CLASSPATH值为:C:\\Program Files\\java\\jdk1.7.0_05\\jre\\lib;
2、Eclipse的下载与安装
打开浏览器,在地址栏输入http://www.eclipse.org/downloads/,打开后的页面如图3所示。在下载界面找到Eclispe Classic4.2,单击下载链接,将Eclipse下载到电脑上。Eclipse不需要安装,只需将下载到电脑上的压缩包解压到硬盘上某个目录即可。
图3、Eclipse下载页面
3、Android SDK安装
在Android Developers下载android-sdk_r18-windows.zip,下载完成后解压到任意路径。
运行SDK Manager.exe,程序将自动检测是否有更新的SDK版本可供下载,选择Available Packages。选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。
4、ADT的安装
ADT实际上是一个工具,它可以连接sdk和Eclipse,帮助Eclipse找到sdk打开Eclipse界面,进入菜单中的“Help”->“Install New Software”,点击Add按钮弹出对话框要求输入Name和Location。如图4所示。
图4、ADT安装
完成之后,选择Window->Preferences;往左边的面板选择Android,然后在右侧点击Browse;并选中SDK的路径,点击Apply、OK。配置完成。
5、创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD,步骤如下:
在Eclipse中,选择Windows->Android SDK and AVD Manager,点击左侧面板的Virtual Devices,再右侧点击New,填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值,点击Create AVD即可完成创建AVD。
如图5所示。
图5、AVD创建
AVD创建完成后,将会显示上图左边的列表中。单击start按钮,将会启动所选的AVD,启动过程需要一段时间,启动成功后的虚拟设备如图6所示。
图6、虚拟设备
结束语
Android应用程序开发着眼于它的整个系统架构,是一项复杂的工程。本文分析了Android系统架构,并讨论了在Windows系统下Android开发环境的搭建,Android平台本身大量使用开源类库,并且为开发人员提供了一个非常便捷的开发环境。
参考文献
[1]杨文志.Google Android程序设计指南[M].北京:电子工业出版社,2009.
[2]王向辉,张国印,沈浩.Android应用程序开发[M].北京:清华大学出版社,2010.
[3]吴亚峰,索依娜.Android核心技术与实例详解[M].北京:电子工业出版社,2010.
[4]姚昱雯,刘为国.Android的架构与应用开发研究[J].计算机系统应用,2008(11).
[5]宋小倩,周东升.基于Android平台的应用开发研究[J].软件导刊,2011(2).
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务