天天看點

android系統詳細介紹 你對這個小機器人了解多少呢?

         【本文轉自www.hiapk.com安卓網】

系統簡介

Android是基于Linux開放性核心的作業系統,是Google公司在2007年11月5日公布的手機作業系統。早期由原名為"Android"的公司開發,谷歌在2005年收購"Android.Inc"後,繼續進行對Android系統開發營運,它采用了軟體堆層(software stack,又名軟體疊層)的架構,主要分為三部分。底層Linux核心隻提供基本功能,其他的應用軟體則由各公司自行開發,部分程式以Java編寫。

android系統詳細介紹 你對這個小機器人了解多少呢?

2011年初資料顯示,僅正式上市兩年的作業系統Android已經超越稱霸十年的塞班系統,使之躍居全球最受歡迎的智能手機平台。現在,Android系統不但應用于智能手機,也在平闆電腦市場急速擴張。采用Android系統主要廠商包括台灣的HTC,(第一台谷歌的手機G1由HTC生産代工)美國摩托羅拉,SE等,中國大陸廠商如:華為、中興、聯想等。

系統架構

應用程式

Android以Java為程式設計語言,從接口到功能,都有層出不窮的變化,其中Activity等同于J2ME的MIDlet,一個 Activity 類(class)負責建立視窗(window),一個活動中的Activity就是在 foreground(前景)模式,背景運作的程式叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到複數程式同時運作的效果。如果運作中的 Activity 全部畫面被其他 Activity 取代時,該 Activity 便被停止(stopped),甚至被系統清除(kill)。

android系統詳細介紹 你對這個小機器人了解多少呢?

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系統詳細介紹 你對這個小機器人了解多少呢?

Android采用OpenCORE作為基礎多媒體架構。OpenCORE可分7大塊:PVPlayer、PVAuthor、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格式的檔案。

硬體抽像層

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系統詳細介紹 你對這個小機器人了解多少呢?

目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程式管理(Process Management),網絡堆棧(Network Stack),驅動程式模型(Driver Model)等。下載下傳Android源碼之前,先要安裝其建構工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。

系統版本

很多玩家使用者可能會奇怪:“為什麼 Android 會用甜點作為它們系統版本的代号?”這個命名方法開始于 Andoird 1.5 釋出的時候。作為每個版本代表的甜點的尺寸越變越大,然後按照26個字母數序:紙杯蛋糕,甜甜圈,松餅,凍酸奶,姜餅,蜂巢。

Android 1.1  釋出時間:2008 年9月

Android 1.5 Cupcake紙杯蛋糕   釋出時間:2009 年 4 月

Android 1.6 Donut甜甜圈  釋出時間:2009 年 9 月釋出

Android 2.0 Eclair松餅  釋出時間:2009 年 10 月 26 日

android系統詳細介紹 你對這個小機器人了解多少呢?

Android 2.1 Eclair松餅

Android 2.1: 2009 年 10 月 26 日,又一個主要版本更新以創紀錄的速度放出。這次,大版本更新到了Android 2.1 “Eclair.”Android 2.1主要特性:提升硬體速度更多螢幕以及分辨率選擇大幅度的使用者界面改良支援 Exchange活動牆紙大幅改進虛拟鍵盤藍牙 2.1Google 地圖

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 Gingerbread姜餅

中原標準時間2010年12月7日淩晨,Google正式對外釋出了他們的下一代智能手機作業系統Android 2.3也就被大家所熟知的Android Gingerbread系統。

主要更新包括:

遊戲:增加了新的垃圾回收和優化處理事件,以提高對遊戲的支援能力。原生代碼可直接存取輸入和感應器事件、EGL/OpenGL ES、OpenSL ES。新的管理視窗和生命周期的架構。

android系統詳細介紹 你對這個小機器人了解多少呢?

多媒體:支援VP8和WebM視訊格式,提供AAC和AMR寬頻編碼,提供了新的音頻效果器,比如混響、均衡、虛拟耳機和低頻提升。

通訊方式:支援前置攝像頭、SIP/VOIP和NFC(近場通訊)

站在使用者的角度看,這次更新的亮點主要有:1、簡化界面、速度提升;2、更快更直覺的文字輸入;3、一鍵文字選擇和複制/粘帖;4、改進的電源管理系統;5、新的應用管理方式;6、原生支援前置前置攝像頭、網際網路通話和NFC(近場通訊);7、系統原生支援VoIP,可以在聯系人裡加入它的SIP帳戶,然後直接通過系統來撥打VoIP電話;8、增加下載下傳管理器:

Android 2.4 Ice cream sandwich冰激淩三明治 

預計在2011年第四季度釋出。其甜品代号為 Ice cream sandwich(冰激淩三明治)。預計與2.3版本之間的變化不會太大,但是會有不少功能更新。畢竟已經采用了新的代号。

目前已知的Android 2.4帶來的更新包括更多的動畫特效、更快的運作速度、軟體通話降噪、視訊聊天等。Android 2.4系統不會是之前一直謠傳的Android 3.0,其真正的版本号将會是Android 2.4。

Android 3.0 Honeycomb蜂巢

3.0系統特性:1、優化針對平闆;2、全新設計的UI增強網頁浏覽功能;3、n-app purchases功能;4、經過優化的Gmail電子郵箱;5、全面支援GoogleMaps

Android 3.1 Honeycomb

  

Google釋出了最新的Android3.1作業系統,新版本最大的改變是将Android手機系統跟平闆系統再次合并,進而友善開發者。Android3.1相比3.0的更新有限,除了任務管理器可以滾動,支援USB 輸入裝置(鍵盤、滑鼠等),另外還有,它會支援 Google TV.可以支援XBOX 360無線搖桿,這個就牛掰了,大螢幕的Android平闆電腦肯定會非常吃香,簡直就是一台随身遊戲機嘛,還是用手感最好的無線搖桿的。此外就是一些widget支援的變化,能更加容易的定制螢幕widget插件。

Android曆史

2008年9月22日,美國營運商德國T-Mobile在紐約正式釋出第一款Android手機——T-Mobile G1。該款手機為台灣宏達電(HTC)代工制造,是世界上第一部使用Android作業系統的手機,支援WCDMA/HSPA網絡,理論下載下傳速率7.2Mbps,并支援Wi-Fi。   

2009年10月28日正式釋出了Android 2.0 智能手機作業系統。   2010年1月索尼愛立信首款Android機型X10上市 。   

2010年1月7日,Google在其美國總部正式向外界釋出了旗下首款合作品牌手機Nexus One(HTC G5),并同時開始對外發售。

android系統詳細介紹 你對這個小機器人了解多少呢?

2010年7月9日,美國NDP集團調查顯示,Android系統已占據了美國移動系統市場28%的份額。

中原標準時間3月25日,據國外媒體報道,谷歌周四表示,谷歌暫停開源Android3.0,并将暫時阻止小型手機生産商使用其Android 3.0“Honeycomb”系統,期限未定。   谷歌一位發言人通過電子郵件聲明稱,Honeycomb是專為平闆電腦而非手機設計的,在該系統以開源形式釋出前,還有很多工作要做。谷歌向《商業周刊》表示,推遲釋出可能達數月之久。

谷歌稱:“代号為Honeycomb的Android 3.0系統,是針對大螢幕裝置和改進小軟體、多任務、浏覽、通知和客戶化等功能而設計。雖然我們很高興為平闆電腦提供這些新功能,但傳遞給其他裝置包括手機前我們有更多的工作要做。我們決定暫不開放源代碼。我們緻力于将Android作為跨多裝置類型的開放式平台來提供,并在準備好時公布源代碼”。

這意味着小型手機制造商要使用Honeycomb将不得不等待一段時間。不過大型裝置商如HTC和摩托羅拉,已經可以使用。這些裝置制造商一般安裝在平闆電腦中。

對此,谷歌工程副總裁和Android主管安迪·魯賓(Andy Rubin)表示:“為了制定平闆電腦出貨的時間表, 我們進行了一些折衷設計。我們不想思考如何在手機上運作同一個軟體”。

魯賓還表示,谷歌不想冒險“帶來非常糟糕的使用者體驗”。今年2月在釋出Honeycomb時,谷歌發言人稱,目前是專為平闆電腦設計,“以後這些功能将推廣到手機上。手機版的新Android,可能不會被叫做“Honeycomb ”,也可能是與3.0不同的版本。

Android的未來發展

雖然沒有看到Gphone的真正模樣,但據了解,Google的Android平台手機将在2008年下半年正式揭開面紗.對于消費者來說,Google手機将是一款通用的、功能強大的、裝置完整的手機産品。   美國咨詢研究集團Strategy Analytics的最新報告指出,Google最近公布的android手機軟體平台,很可能在2008年時獲得全球智能手機軟體平台2%的份額。

然而老牌智能手機軟體平台制造商Symbian發言人則表示:Google的android隻不過是另一個linux,symbian對其它軟體與其形成的競争并不感到擔心。除了北美之外,Symbian在其它地區智能手機市場都占有大部分市場佔有率。

android系統詳細介紹 你對這個小機器人了解多少呢?

與iPhone相似,Android采用WebKit浏覽器引擎,具備觸摸屏、進階圖形顯示和上網功能,使用者能夠在手機上檢視電子郵件、搜尋網址和觀看視訊節目等,比iPhone等其他手機更強調搜尋功能,界面更強大,可以說是一種融入全部Web應用的單一平台。

但其最震撼人心之處在于Android手機系統的開放性和服務免費。Android是一個對第三方軟體完全開放的平台,開發者在為其開發程式時擁有更大的自由度,突破了iPhone等隻能添加為數不多的固定軟體的枷鎖;同時與Windows Mobile、Symbian等廠商不同,Android作業系統免費向開發人員提供,這樣可節省近三成成本。

Android項目目前正在從手機營運商、手機廠商、開發者和消費者那裡獲得大力支援。谷歌移動平台主管安迪·魯賓(Andy Rubin)表示,與軟體開發合作夥伴的密切接觸正在進行中。從去年11月開始,谷歌開始向服務提供商、晶片廠商和手機銷售商提供Android平台,并組建“開放手機聯盟”,其成員超過30家。”

繼續閱讀