Android系统研究
作者:贾树文 杨婷婷
来源:《软件导刊》2014年第03期
作者:贾树文 杨婷婷
来源:《软件导刊》2014年第03期
摘要:Android系统因其开源特性得到了广泛应用,其应用范围迅速扩张到平板电脑、智能电视等领域。研究了Android的出现背景、应用现状,并对Android的系统架构和应用程序开发环境配置进行了阐述。
关键词:Android;开源软件;系统架构;开发环境
中图分类号:TP301 文献标识码:A 文章编号:1672-7800(2014)003-0007-03
1 Android背景
Android的英文意思是“机器人”,2007年11月5日被Google赋予了新的含义:安卓操作系统。该系统由操作系统、用户界面、中间件和应用软件组成,是基于linux平台的开源手机操作系统,也是首个专为移动终端打造的真正开放源代码的手机移动软件。T-Moble G1是世界上首款正式安装安卓操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持
Wife,由美国运营商于2008年9月22日在纽约制造发布。在第一部基于安卓的手机发布后的几个月内,越来越多的手机厂商开始开发和提供基于Android系统的手机。2008年10月21日Open Handset Alliance(开放手机联盟)全部公开了Android源代码,至此全球拥有了首个开放源代码的、完全开放的、开源的手机操作平台,这也正是Android系统相比其它系统的优势所在。
Android系统的开源特性具有应用程序开发无界限、应用程序开发快速和开发平等的特性,是其它手机操作系统无法比拟的。这些特性允许具备一定实力的硬件开发厂商和IT厂商依据需要在Android平台上自由地加入特有的装置或是功能,而不会受到使用Android系统的厂商限制。因其平台的先进性,在Android系统平台上所开发出的所有应用程序不会受到手机型号不同的困扰,可以兼容不同型号的Android手机,同时Android系统平台能够支持各类手机网络和3D绘图处理功能,能够为使用者提供更好的使用体验;它可以跟Iphone操作系统相比拟,只要用户有免费的Google账号就可以在其平台上开发出跟Iphone相类似的任何手机应用程序,并且这些应用程序能够在不同的Android手机之间实现兼容,实现个人手机通讯资源的选择转移,从而避免了因手机丢失导致的个人通讯资源遗失的苦恼。
2010年公布的数据显示,Android系统因其开源操作特性已力压诺基亚的塞班系统成为了手机市场上的主流操作系统,全世界至2012年11月安装Android系统的智能手机已经占据手机市场76%的份额,在中国为90%。中国知名的手机厂商均使用Android系统内嵌在手机中,例如小米、华为、中兴等,越来越多的用户接受了Android,厂商的普及也造就了用户的体化。Android系统因其开源性不仅在智能手机方面得到广泛应用,而且在平板电脑上的应用也得到迅速扩张,很多公司为了能够在平板电脑市场跟苹果公司分庭抗礼,纷纷推出了Android操作系统的平板电脑。
从客观的角度审视,Android操作系统因其开放的源代码特性和免费的开发环境为全球各地的程序开发使用者提供了公平竞争的机会。
2 Android系统平台应用现状及开发意义
在国外,Android系统自诞生起就因其开源的优势迅速发展,前景如日中天。根据2012年发布的权威报告显示,安装了Android系统的智能手机已经占据全美国手机市场份额的28%,而大名鼎鼎的IPhone手机销量只占到全美手机市场份额的21%,由此可见Android系统应用已经初现规模。据专业人士分析,随着Android系统应用软件的不断推陈出新,陆续
选择安装Android系统的手机用户和无线终端设备的使用者会越来越多,其应用所确立的市场地位在更为先进更为实用的新系统出现之前是无法撼动的。在手机消费大国中国,由于通信技术的发展和3G业务的陆续推广,整个手机产业尤其是智能手机产业发展迅速,智能手机市场中安装Android系统的手机占据绝对优势。最近几年,各大手机厂商纷纷引入Android程序的开发人员,为的就是能够在未来的手机销售市场中抢到一杯羹,占据市场领导地位。
最初,Android应用集中在信息服务,随着国内3Gandroid属于什么软件业务的发展,应用已经开始涉及娱乐、交友领域。目前,手机游戏、交友聊天、信息提供仍是主力军,而作为学生学习生活方面的应用不是很多,最多的是工具类应用,像有道词典、Google翻译等。
随着信息技术的迅猛发展,基于安卓系统的应用软件绝不会仅仅局限于手机产业,而是会快速地向智能电视电器、智能会议系统、平板电脑和车载系统等领域扩展,基于安卓的系统应用软件定会进入飞速发展新阶段,介于安卓系统的应用软件开发将会展开激烈的竞争,任何一个IT厂商都不会放过如此好的市场机会,围绕安卓应用的竞争将会进入白热化,谁都想在竞争中占领更多的市场份额。
3 Android系统架构
Android系统作为一个成熟的系统架构,采用由上而下分为四层的分层次架构思想模式,整个架构分为程序应用层(APPLICATIONS)、框架层(APPLICATION FRAMEWORK)、Android运行时(ANDROID RUNTIME)、Linux内核(LINUX MERNEL)和系统库(LIBRARIES)。
3.1 应用程序层(APPLICATIONS)
Android平台作为一个操作系统,包含许多用JAVA语言编写的像SMS短信客户端、电话拨号、图片以及Web浏览器等的应用程序,这些应用程序可以被其它程序所取代,这正是安卓系统的开源特性,从而使得系统更具灵活性和个性化。
3.2 应用程序框架层(APPLICATION FRAMEWORK)
应用程序框架层是安卓系统应用的基础,包括以下10个部分:
①活动管理器(Activity Manager):对各个应用程序的生命周期和导航回退功能进行管理;
②窗口管理器(Window Manager):管理所有的窗口程序;
③内容提供者(Content Provider):不同应用程序之间能分享或是存取数据;
④视图系统(View System):构建应用程序的基本组件;
⑤包管理器(Package Manager):Android系统内的程序管理;
⑥电话管理器(Telephony Manager):管理所有移动设备功能;
⑦资源管理器(Resource Manager):为所有应用程序提供像字符串、图片和颜文件等非代码资源;
⑧位置管理器(Location Manager):提供位置服务;
⑨通知管理器(Notification Manager):可以在状态栏中显示应用程序的自定义提示信息;
⑩XMPP服务(XMPP Service):提供Google Talk服务。
由于Android平台的开源性,在其平台上程序开发人员可以自由地完全不受限制地访问
核心应用程序所使用的API框架,同时每一个开发应用程序都可以自由地发布功能模块,这些已发布的功能模块也可以被其它应用程序调用,这就是Android平台的重用机制,它使得用户可以轻松方便地替换平台中的各种应用程序组件。
3.3 系统库(LIBRARIES)和Android运行时(ANDROID RUNTIME)系统库包括9个子系统,分别是:
①图层管理(Surface Manager):当安卓系统有多个应用程序在执行时,图层管理负责显示与存取操作间的互动管理;
②媒体库(Media framework):基于Packet Video Open Core,支持多种常用编码格式的音视频录制回放;
③SQLite:小型关系数据库引擎;
④OpenGLlEState:根据Open GL ES 1.0 API标准实现的3D绘图函数库;
⑤FreeType:提供向量字和点阵的描绘和显示;
⑥WebKit:实际上是一套网页浏览器的软件引擎;
⑦SGL:底层的2D图形渲染引擎;
⑧SSL:在Android通信过程中实现握手;
⑨Libc:专门为基于embedded Linux的设备定制的标准C系统函数库。
Android运行时(ANDROID RUNTIME)由核心库和Dalvik虚拟机两部分组成,它们的应用程序都是采用Java语言编写的,包括Android核心库提供的Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android和android. media等等,同时核心库又能够兼容Java语言程序中大多数需要被调用的功能函数;Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统上的基于栈的虚拟机,能够完成对线程堆栈以及生命周期的管理,同时还具有对系统安全和异常的管理,也负责垃圾回收等系统重要功能,它所执行的字节码是经过转换工具转成的dex格式的中间码,每个Android应用程序都有一个专有的进程和Dalivik虚拟机的实例,并在其实例中执行。
3.4 Linux内核层 (LINUX MERNEL)
Android系统应用架构采用的是由上而下的层次分明架构清晰的分层架构思想,每个层次和架构间协同工作,程序人员可以非常方便地准开发的切入点,而Linux内核作为硬件和软件栈的抽象层是整个安卓系统进程内存管理和驱动模型的核心服务系统。
4 开发平台搭建
首先安装Eclipse,可以从网上下载Eclipse压缩包,直接解压缩就可以安装。安装Eclipse后就需要安装JDK 7,JDK 7安装首先需要下载应用程序,可以从SUN公司的网站(网址:http://acle/technetwork/opensource/index.html?ssSourceSiteId=ocomen)上下载。整个程序安装完成后可以通过开始菜单中运行CMD,然后输入JAVA –VERSION就可以查看JDK当前版本。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论