安卓操作系统简介简言:Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。
系统介绍:Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。
它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。
底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。
2010年末数据显示,仅正式推出两年的操作系统Android已经超越称霸十年的诺基亚(Nokia)Symbian OS系统,采用Android系统主要手机厂商包括宏达电子(HTC)、三星(SAMSUNG)、摩托罗拉(MOTOROLA)、LG、Sony Ericsson、魅族M9等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。
系统架构:应用程序:Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity 等同于J2ME的MIDlet,一个Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。
两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。
如果运行中的Activity 全部画面被其他Activity 取代时,该Activity 便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用View 打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC 的Android Hero手机即含有大量的widget。
至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。
View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。
View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。
另外还有Image等同于J2ME的BitMap。
中介软件操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。
Bionic是Android 改良libc的版本。
Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。
Surface flinger 是就2D或3D的内容显示到屏幕上。
Android使用工具链(Toolchain)为Google自制的Bionic Libc。
Android采用OpenCORE作为基础多媒体框架。
OpenCORE可分7大块:PVPlayer、PV Author、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 为核心图形引擎,搭配OpenGL/ES。
skia与Linux Cairo 功能相当,但相较于Linux Cairo, skia 功能还只是阳春型的。
2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。
Android的多媒体数据库采用SQLite数据库系统。
数据库又分为共用数据库及私用数据库。
用户可通过ContentResolver类(Column)取得共用数据库。
Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。
Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java 虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。
Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。
硬件抽像层(Hardware Abstraction Layer)Android 的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。
HAL 的目的是为了把Android framework 与Linux kernel 隔开,让Android 不至过度依赖Linux kernel,以达成kernel independent 的概念,也让Android framework 的开发能在不考量驱动程序实现的前提下进行发展。
HAL stub 是一种代理人(proxy)的概念,stub 是以*.so 档的形式存在。
Stub 向HAL“提供”操作函数(operations),并由Android runtime 向HAL 取得stub 的operations,再callback 这些操作函数。
HAL 里包含了许多的stub (代理人)。
Runtime 只要说明“类型”,即module ID,就可以取得操作函数。
编程语言Android 是运行于Linux kernel之上,但并不是GNU/Linux。
因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。
Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到userspace,使得Linux driver 与Linux kernel彻底分开。
bionic/libc/kernel/ 并非标准的kernel header files。
Android 的kernel header 是利用工具由Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。
目前Android 的Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。
下载Android源码之前,先要安装其构建工具Repo来初始化源码。
Repo 是Android 用来辅助Git工作的一个工具。
系统版本Android 1.1发布时间:发布于2009 年 2 月代表手机:T-MOBILE G1Android 1.5发布于2009 年 5 月代表手机:摩托罗拉CILQAndroid 1.62009 年9 月发布代表手机:索尼爱立信X10Android 2.0 Eclair2009 年10 月26 日代表机型:摩托罗拉XT800,HTC G6Android 2.1 EclairAndroid 2.1: 2009 年10 月26 日,又一个主要版本升级以创纪录的速度放出。
这次,大版本升级到了Android 2.1 “Eclair.”Android 2.1主要特性提升硬件速度更多屏幕以及分辨率选择大幅度的用户界面改良支持Exchange活动墙纸大幅改进虚拟键盘蓝牙2.1Google 地图3.1.2Android 2.0.1 SDK 于2009 年12 月 3 日发布,之后是2010 年 1 月10 日的 2.1 版本。
很多用户和围观群众可能会奇怪:“为什么Android 会用甜点作为它们系统版本的代号?”,这个命名方法开始于Andoird 1.5 发布的时候。
作为每个版本代表的甜点的尺寸越变越大,然后按照字母数序:小蛋糕,甜甜圈还有松饼。
之前人们预计2.2 版本的代号会是“馅饼”,但这个被最终证明是错误的,“FroY o”(冻酸奶)才是Android 2.2 这个伴随Google Nexus One 发布的新版的最新代号Android 2.2 Froyo谷歌于北京时间2010年5月20日晚上10:30点在旧金山Moscone会展中心举办Google I/O 2010大会第二天的会议,Google正式发布了代号是“froyo 冻酸奶”的Android操作系统2.2版。
相对于上一版本的改变:1、整体性能大幅度的提升2、3G网络共享功能。
3、Flash的支持。
4、App2sd功能。
5、全新的软件商店。
6、更多的Web应用API接口的开发Android 2.3 Gingerbreadgingerdroid北京时间2010年12月7日凌晨,Google正式对外发布了他们的下一代智能手机操作系统Android 2.3也就被大家所熟知的Android Gingerbread系统。
虽然在版本号方面Android 2.3相对于前作而言的提升并不算多,但是从功能以及界面的变化上来看还是十分明显的,因此还是十分有必需要向大家介绍一下这个全新的系统的。
虽然是一个较为重大的更新,但是Android 2.3在界面方面的改变相对于之前的Android 2.2而言其变化并不算明显,其主要的变化来自于界面的配色方面。
Android 2.3在配色方面更多的使用了绿色配色,例如状态栏、通话图标以及其他的一些功能图标。