为、联想等都加入到这个大家族中。显然,这些大公司的加入有助于自己推出Android相关的产品,同时也增强了Android的生命力。如今移动设备的处理器九成以上采用ARM核,造成这种局面最重要的一个原因是ARM公司和全世界各半导体厂商的合作所带来的强大生命力,在这点上,Android与ARM的商业运作有些许类似[7]。
在软件上,Android与其它硬件厂商的结合度越高,第三方厂商就越可能考虑采用它,第三方硬件厂商可以扩展Android本身不支持的功能(比如和Android界面完全不同的独有界面),可以增加针对某些设备特有的功能。由于不同网络服务提供商、不同手机制造商的用户需要不同的设置,对于这种情况,Android系统本身并没有集成任何一种形式的应用管理程序,因此Android智能手机的软件安装、系统升级、多媒体间步、应用软件管理以及云同步在不同的手机上可以以不同的形式出现 [8]。
对于手机用户而言,Android拥有应用程序Market,类似于iPhone App Store,Market上有大量的应用程序。Android手机可以通过网络在线安装,且绝大部分应用程序免费并开源,这是Market优于App Store的地方.
在当今的软件大环境方面,软件的环境正在逐渐改变,微软这种软件巨头在压力下,也不得不将Windows Mobile开源,软件免费开源已成为一种趋势。软件的含义正在改变.传统软件业以微软为代表,纯粹是卖软件,卖一份软件,获得一份收入。而以谷歌为代表的一些企业,已经不将卖软件作为公司的主要收入来源,甚至它的所有软件都免费,给用户提供免费的服务。卖服务而不是卖软件已成为一种趋势[9]。
云计算的出现,将会是传统软件的一种颠覆。目前许多公司,如IBM、亚马逊、微软、Google等都以投入到云计算中,其中Google走在前列,并有很多此类产品,比如Google Docs就可以完成在线的办公文档的编辑、保存、打印等。Android是Google推出的产品,其对网络的支持是任何其他智能手机系统无法比拟的,可以说Android就是应网络而生,随着3G时代的到来,Android对3G的良好支持,Android在网络方面的优势更为突出。
Google在2010年正式发布Chrome OS,, Chrome OS主要运行在类PC机器上,而Android则主要运行于移动设备上,有了这两者的组合,几乎适用于个人终端的所有领域,再加上Google的各种服务,相信在不久的将来,微软的霸主地位将被Google取代,Android的产品将随处可见.
1.1.3 Android产品现状
由于Android采用Linux内核,基本上可以跑Linux的平台,就可以跑
Android, Linux作为一个高速发展的开源平台,目前兼容的平台种类和数量是其它智能手机无法比拟的。虽然Android是专门针对手机设计的系统,但是目前Android的应用绝不局限于手机,已经有大量的手持设备如PDA, MP4, GPS等采用了Android系统,甚至有厂商将Android应用在上网本、机顶盒上。下面介绍比较典型的基于^Android的手机Google On和Nexus One.
Google On是Android发展历史上第一款基于Android的产品,此手机由中国台湾宏达(HTC)制造,简称G1.代号为Dream,最开始于2008年10月22日由美国T-Mobile在美国运营。G1中包含了丰富的软件,包含基于Webkit核的浏览器、即时通软件(腾讯QQ、雅虎通、MSN等)、音乐播放器、视频播放、Google Maps,客户端电子邮件收发器、Gmail电子邮件、Youtube在线视频播放客户端软件[11]。
Nexus One是谷歌推出的自主品牌手机,也是Google的第一款自主品牌手机,Google曾经在主页上对其进行推广.该手机采用了最新的Android 2.1系统,机身超薄,仅仅为11.5毫米,但是丝毫没有降低作为一款高档Android手机所具有的功能。该智能机采用了3.7英寸触控屏,可以提供高达WVGA的分辨率,为获得更好的处理速度,该智能机采用了高通Snapdragon处理器,其频率高达1GHz。该智能机还配置了500万像素摄像头,具有自动聚焦功能,支持GPS/A-GPS导航以及电子罗盘,支持的网络服务有WCDMA/HSDPA,带有无线局域网功能(具备Wi-Fi ),提供丰富的娱乐功能,采用3.5毫米耳机接口。另外还具备其他诸如轨迹球多彩LED提示、光线光和距离感应器、加速计、USB2.0连接、电子邮件收发、HTML网络浏览以及完整的Google服务[12]。
1.2课题研究目的及意义
本课题围绕设计一个Android智能手机为中心,从软件和硬件上分析Android智能手机的开发流程和基本的方法、技巧。本文从软件的最底层到最上层进行了分析:从启动代码到内核再到驱动、文件系统,最后到Android应用层,在应用层以蓝牙为例进行了深入的分析。本文对底层软件以及上层软件开发过程中的环境进行了介绍,针对每层的特点对调试方法进行了分析和选择,在硬件上,给出了系统的总体设计框图,以及各个主要模块的电路图,为设计和开发一个Android智能手机提供了一个参考。
1.3系统设计目标
本论文的主要工作是在设计Android智能手机的同时,系统地分析设计Android智能手机的基本流程、方法和技巧。在硬件上,进行了微控器的设计、摄像头模块的设计、AGPS模块的设计、W叭模块的设计、蓝牙模块的设计、存储器(包括Nand Flash和SDRAM)的设计、USB接口设计、音频模块设计(包括麦克风、喇叭、受话器)、LCD设计、震动电机设计、LED设计、按钮设计、SD卡槽设计、基带模块设计。在软件上,进行了BootLoader的移植、Linux内核的移植, Android的移植、LCD驱动开发、无线模块的驭动开发(包括WIFI、AGPS、基带)、键盘驱动开发、音频驱动开发、Nand Flash 驱动开发、摄像头驱动开发以及其它外围设备驱动的开发,以及上层的应用开发,如蓝牙相关的功能(传文件、听音乐等),基带相关的功能(拨打电话等)。在开发过程中,不断完善功能,消除BUG,最终做成一个可以量产的Android智能手机。
第2章 资源管理器系统环境
2.1 Android软件架构
图2-1 Android架构
上图为Android的软件架构,下面对图2-1从下到上依次介绍。
1. Android内核
Android内核采用的Lima 2.6,内核为上层提供安全、内存管理、进程管理等服务,以及硬件驱动等。内核还是一个介于硬件层和系统上层软件之间的一个抽象层次。
2. Android运行时
这是Android的核心类库,为应用程序提供虚拟机和必要的运行环境,该虚拟机专门为嵌入式设备优化过,相对其他虚拟机具有更高的效率。
3. Android库
Android包含一整套GC++库,提供给Android系统的各个应用层框架调用并通过应用层框架暴露给开发者。下面列举一些核心库:
.系统C库:由BSD的标准C系统库衍生而来,使得可以更好地使用于 嵌入式设备;
.媒体库:该媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG. PNG)的播放和录制;
.界面管理:提供对子系统显示功能的访问,跨应用的无缝组合,比如2D图形层;
.LibWebCore: Android浏览器采用的浏览器核,目前使用比较多,也很流行的浏览器核,如Google研发的浏览器Chrom。也是基于该核;
.SGL: Android底层的平面图形引擎;
.3D库:在硬件支持的情况下,比如本系统采用的处理器内部具有硬件加速器,该库对这种情况有较好的支持,并且专门对嵌入式系统进行了优化;
.SQLit。为写应用程序提供了数据库接口,它是一个比较小的数据库, Android所有应用均可采用该数据库[13]。
4. Android应用框架
上文所提的核心应用程序就是依棘框架层次API开发的,程序员们当然也可以充分使用这些API。上面提到的一些应用程序都是
上一篇:
基于Android的行程安排系统
下一篇:
计算机网络毕业论文