作者dasea2008 (麥當勞的合約)
看板ncyu_phyedu
標題[討論] android
時間Fri Feb 17 19:21:42 2012
Android
维基百科,自由的百科全书
汉漢▼
Android Android機器人
Android.svg
Android 4.0.png
Android 4.0介面截圖 (Galaxy Nexus)
開發者 Google/開放手持設備聯盟
程式語言 C(核心)[1], C++(有些第三方庫), Java(用戶界面)
運作狀態 營運中
原始碼模式 自由及開放原始碼軟體
初始版本 2008年10月21日
穩定版本
平板電腦:
3.2.2 (Honeycomb) / 2011年8月30日;5個月前
行動電話:
4.0.3 (Ice Cream Sandwich) / 2011年12月15日;2個月前
支援平台 ARM、MIPS、Power Architecture、x86
核心類別 整塊性核心(Linux)
預設使用者介面 圖形
授權條款 Apache 2.0 版授權許可證 Linux核心補丁適用GPLv2[2]
官方網站 android.com
Galaxy Nexus
早期Android設備
Android(讀音:['ændrɔid])是一種以Linux為基礎的開放源碼作業系統,主要使用於
便攜設備。它由Google公司和開放手持設備聯盟開發和領導。目前尚未有統一中文名稱,
「安卓」和「安致」是在中國大陸流行的另一個稱呼。
Android作業系統最初由安迪·魯賓(Andy Rubin)創辦[3],最初主要支援手機。2005年
8月17日被Google公司(中國大陸常稱之為「谷歌」)收購注資。[4] 2007年11月5日,
Google公司與84家硬體製造商、軟體開發商及電信運營商組成開放手持設備聯盟(Open
Handset Alliance)來共同開發改良Android操作系統並生產搭載Android的智能手機
[5][6][7][8] ,並逐漸擴展到到平板電腦及其他領域上[9]。隨後,Android獲得了
Apache免費開源許可證,Google公司發布了其源代碼[10]。同時,一個負責進一步發展和
維護Android操作系統的Android開源項目也被建立(AOSP)。[11]
2010年末數據顯示,僅正式推出兩年的作業系統的Android在市場佔有率上已經超越稱霸
十年的諾基亞Symbian系統[12][13] 。2011年8月,Android操作系統在全球智能手機操作
系統的市場佔有率已達48%,成為全球第一大智能手機操作系統。[14]
目錄
[隐藏]
1 名稱來源
2 Logo來源
3 歷史
3.1 成立
3.2 Google的收購
3.3 收購後的發展
3.4 開放手持設備聯盟
3.5 許可證
4 系統設計
4.1 Linux內核
4.2 特點
5 硬體支持
6 應用程序
6.1 Android Market
6.2 應用程式安全機制
6.2.1 惡意程式與病毒
6.2.2 SEAndroid
7 市場使用情況
7.1 市場佔有率
7.2 用戶使用系統版本比例
8 版本
8.1 發佈
9 系統架構
9.1 應用程式
9.2 中介軟體
9.3 硬體抽像層
9.4 程式語言
9.5 專利糾紛
10 參見
11 參考
12 外部連結
[编辑] 名稱來源
Android一詞最早出現於法國作家利爾亞當(Auguste Villiers de l'Isle-Adam)在1886
年發表的科幻小說《未來夏娃》(L'Ève future)中。他將外表像人的機器起名為
Android。
[编辑] Logo來源
Android的Logo是由Ascender公司設計的。其中的文字使用了Ascender公司專門製作的稱
之為「GoogleDroid字體」的字體[15]。
Android是一個全身綠色的機器人,綠色也是Android的標誌。顏色採用了PMS 376C和RGB
中十六進制的#A4C639來繪製,這是Android操作系統的品牌象徵[16]。有時候,它們還會
使用純文字的Logo。[17]
[编辑] 歷史
[编辑] 成立
2003年10月,有「Android之父」之稱的安迪·魯賓(Andy Rubin)[18]在美國加利福利
亞州的帕洛阿爾托建立了Android科技公司(Android Inc.),並與米奇·米納爾(Rich
Miner)[19] 、尼克·席爾斯(Nick Sears)[20]、克里斯·懷特(Chris White)[21]共同發
展這家公司。談到建立Android科技公司的原因,魯賓說:「聰明的移動設備能更好的意
識到用戶的愛好和要求」[22]。儘管Android科技公司的創始人和員工過去都具有各自的
科技成就,但是Android科技公司的經營只顯露出它在手機軟體的方面。
同年,魯賓為Android科技公司花光了所有的錢。就在這時,史蒂夫·帕爾曼(Steve
Perlman)遞給了魯賓一個信封,在裡面裝有1萬美金的現金,並且帕爾曼並不是以投資的
方式給魯賓這筆錢,因為他拒絕了魯賓給他的股份。[23]
[编辑] Google的收購
2005年8月17日,Google公司收購了Android科技公司,Android科技公司成為Google公司
旗下的一部分,包括米奇·米納爾、克里斯·懷特等所擁有的全資子公司,所有Android
科技公司的員工都被併入Google公司。當時,沒有人知道Google公司為什麼作出這項收購
,有許多的猜測,後來證明Google正是藉助此次收購正式進入移動領域。
[编辑] 收購後的發展
在Google公司,魯賓領導著一個負責開發基於Linux內核移動操作系統的團隊,這個開發
項目便是Android操作系統。Google公司的合作平台為Android提供了廣闊的市場,Google
公司給予各大硬體製造商、軟體開發商一個靈活可靠的系統升級承諾,並保證將給予它們
最新版本的操作系統。 2006年12月,美國「華爾街日報」和英國BBC電視台報導了Google
有可能進入移動領域的傳聞,Google公司有可能推廣移動領域下的各種Google服務,並且
將推出一款名為Google手機的自主品牌手機。另有傳聞指出,按照Google的作風,將有可
能呈現出新的手機製造商和運營商模式。 2007年9月,Google提交了多項移動領域的專利
申請。但並沒有人知道Google將會推出的是一款名為Android的手機操作系統,更多的猜
測是Google會推出一款像iPhone一樣的自主品牌手機系列。[24][25][26]
[编辑] 開放手持設備聯盟
主條目:開放手持設備聯盟
2007年11月5日,在Google公司的領導下,開放手持設備聯盟建立,最開始的一批創始成
員包括Broadcom公司、HTC、英特爾、LG、Marvell等公司。開放手持設備聯盟的建立目的
是為了創建一個更加開放自由的移動手機環境。而在開放手持設備聯盟創建的同一天,聯
盟對外展示了他們的第一個產品,一台搭載了以Linux 2.6為內核基礎的Android操作系統
的智能手機。 2008年12月9日,新一批成員加入開放手持設備聯盟,包括ARM、華為、索
尼愛立信等公司。[27][28]
[编辑] 許可證
Android操作系統使用開放免費源代碼許可證,一切源代碼都是公開免費[29] 的。Google
對Android所使用的Linux內核依據Apache開源條款2.0中所規定的內容進行了修改,
[30][31][32][33]包括添加手機網路和電話協議棧等手機所必需的功能,使它們能更好的
在移動設備上運行,並且根據第二版GNU條款中所規定的內容對修改的Linux內核信息公佈
。Google也不斷發布問卷和開放修改清單、更新情況和源代碼來讓任何人看到並且提出他
們的意見和評論,以便按照用戶的要求改進Android操作系統。 Android操作系統是完全
免費開源的,任何廠商都可以不經過Google和開放手持設備聯盟的授權隨意使用Android
操作系統,但是製造商不能隨意地在自己的產品上使用Google(Google)的標誌和Google
的應用程序,例如Android Market等,除非Google證明其生產的產品設備符合Google兼容
性定義文件(CDD),這樣才能在手機上預裝Android Market、Gmail等應用程序,並且獲
得CDD的手機廠商也可以在其生產的手機上印上「With Google」的標誌[34]。
[编辑] 系統設計
[编辑] Linux內核
Android操作系統的內核屬於Linux內核的一個分支,具有典型的Linux週期和功能,[35]
除此之外,Google公司為了能讓Linux在移動設備上良好的運行,對其進行了修改和擴充
。Android去除了Linux中的本地X Window System,也不支持標準的GNU庫,這使得Linux
平台上的應用程序移植到Android平台上變得困難[36]。2008年,Patrick Brady於
Google I/O演講「Anatomy & Physiology of an Android」,並提出的Android HAL架構
圖。HAL以*.so檔的形式存在,可以把Android framework與Linux kernel隔開,這種中介
層的方式使得Android能在移動設備上獲得更高的執行效率。這種獨特的系統結構被Linux
核心開發者Greg Kroah-Hartman和其他內核維護者稱讚。Google還在Android的內核中加
入了自己開發製作的一個名為「wakelocks」的移動設備電源管理功能,該功能用於管理
移動設備的電池性能,但是該功能並沒有被加入到Linux內核的主線開放和維護中,因為
Linux內核維護者認為Google沒有向他們展示這個功能的意圖和代碼。 2010年2月3日,由
於Google在Android內核開發方面和Linux社區方面開發的不同步,Linux核心開發者Greg
Kroah-Hartman將Android的驅動程序從Linux核心「狀態樹」(「staging tree」)上除
去。[37]2010年4月,Google宣布將派遣2名開發人員加入Linux內核社區,以便重返Linux
內核。2010年9月,Linux內核開發者Rafael J. Wysocki添加了一個修復程序,使得
Android的「wakelocks」可以輕鬆地與主線Linux內核合併。2011年,Linus Torvalds說
:「Android的內核和Linux的內核將最終回歸到一起,但可能不會是4-5年。」
Android的內核基於Linux,除了內核之外,則是中介層、資料庫元和用C/C++編寫的API以
及應用程式框架。Android的應用程序通常以Java資料庫元為基礎編寫,運行程序時,應
用程式的代碼會被即時轉變為Dalvik dex-code (Dalvik Executable),然後Android操作
系統通過使用即時編譯的Dalvik虛擬機來將其運行。[38]
除了開放手持設備聯盟之外,Android還擁有許多由全球各地開發者組成的開源社區來專
門負責開發Android應用程式和第三方Android操作系統來延長和擴展Android的功能和性
能。[39]截止至2011年10月,Android電子市場上擁有超過30萬個認證的應用程式,電子
市場的應用程式下載量也在2011年12月達到100億次[40][41]。由於Android是開放的,因
此它還可以通過第三方網站來下載安裝電子市場上所沒有的應用程式。
[编辑] 特點
當前的Android操作系統具有以下幾個功能:
顯示佈局
Android操作系統支持更大的解析度,VGA,2D顯示,3D顯示都給予OpenGL ES 2.0標
準規格,並且支持傳統的智能手機。
數據存儲
Android操作系統內置SQLite來負責存儲數據,這是一個小型的數據庫。
網路
Android操作系統支持所有的網路制式,包括GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth, Wi-Fi, LTE, NFC 和 WiMAX。
信息
Android操作系統支持簡訊和郵件,並且支持所有的雲端信息和服務器信息。
語言
Android操作系統支持多語言。
瀏覽器
Android操作系統中內置的網頁瀏覽器基於WebKit內核,並且採用了Chrome V8引擎。
在Android 4.0內置的瀏覽器測試中,HTML5和Acid3故障處理中均獲得了滿分,並且支持
Flash。
支持Java
雖然Android操作系統中的應用程式大部分都是由Java編寫的,但是Android卻是以轉
換為Dalvik executables的文件在Dalvik虛擬機上運行的。由於Android中並不自帶Java
虛擬機,因此無法直接運行Java程序,不過Android平台上提供了多個Java虛擬機供用戶
下載使用,安裝了Java虛擬機的Android系統可以運行J2ME的程式。
媒體支持
Android操作系統本身支持以下格式的音頻/視頻/圖片媒體:WebM, H.263, H.264
(in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC,
HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG,
PNG, GIF, BMP。如果用戶需要播放更多格式的媒體,可以安裝其他第三方應用程式。
流媒體支持
Android操作系統支持RTP/RTSP (3GPP PSS, ISMA)的流媒體以及(HTML5 <video>)的
流媒體,同時還支持Adobe的Flash,在安裝了RealPlayer之後,還支持蘋果公司的流媒體
。
硬體支持
Android操作系統支持識別並且使用視頻/照片攝像頭,多點電容/電阻觸摸屏,GPS,
加速計,陀螺儀,氣壓計,磁強計,鍵盤,鼠標,USB Disk,專用的遊戲控制器,體感控
制器,遊戲手柄,藍牙設備,無線設備,感應和壓力感測器,溫度計,加速2D位位塊傳輸
(硬體方向,縮放,像素格式轉換)和3D圖形加速。
多點觸控
Android支持原生的多點觸摸,在最初的HTC Hero手機上即有這個功能。該功能是核
心級別(為了避免對蘋果公司的觸摸屏技術造成侵權)。
藍牙
Android支持A2DP,AVRCP,發送文件(OPP),訪問電話簿(PBAP),語音撥號和發
送手機之間的聯繫。同時支持鍵盤,滑鼠和操縱桿(HID)。
多工處理
Android操作系統支持原生的多工處理。
語音功能
除了支持普通的電話通話之外,Android操作系統從最初的版本開始就支持使用語音
操作來使用Google進行網頁搜索等功能。而從Android OS v2.2開始,語音功能還可以用
來輸入文字、語音導航等功能。
無線共享功能
Android操作系統支持用戶使用本機充當「無線路由器」,並且將本機的網路共享給
其他手機,其他機器只需要通過WiFi尋找到共享的無線熱點,就可以上網。而在Android
OS v2.2版本之前的操作系統則需要通過第三方應用或者其他定製版系統來實現這個功能
。
截圖功能
從Android OS v4.0版本開始,Android操作系統便支持截圖功能,該功能允許用戶直
接抓取手機螢幕上的任何畫面,用戶還可以通過編輯功能對截圖進行處理,還可以通過藍
牙/E-mail/微博/共享等方式發送給其他用戶或者上傳到網路上,也可以拷貝到電腦中。
[编辑] 硬體支持
主條目:Android裝置列表
由於Android操作系統的開放性和可移植性,它可以被用在大部分電子產品上。包括:手
機,上網本,平板電腦,個人電腦,筆記本電腦,電視,機頂盒,MP3,MP4,掌上遊戲機
,家用主機,電子手錶,電子收音機,耳機,汽車設備,導航儀,CD機,VCD機,DVD機,
機頂盒以及其他設備。
Android操作系統大多搭載在使用了ARM架構的硬體設備上。但是同樣也有支持X86架構的
Android操作系統,比如Google公司的Google TV就是使用一個X86版本特別定製的Android
操作系統。
同樣,蘋果公司的iOS設備,比如iPhone、iPod Touch以及iPad產品都可以安裝Android操
作系統,並且可以通過雙系統啟動工具OpeniBoot或者iDroid來運行Android操作系統。微
軟的Windows Mobile產品也一樣可以。
世界上第一台正真意義上使用Android操作系統的設備是2008年10月22日發布的HTC Dream
。
世界上第一台搭載了Android 4.0操作系統的平板電腦是由中國艾諾公司(Ainovo)生產
的Novo 7。
Android可以像用電腦上網一樣,使用任何服務[42]。Android對手有蘋果公司的iOS作業
系統及Microsoft的Windows Phone 7及RIM使用的BlackBerry OS系統。[43]
[编辑] 應用程序
早期的Android應用程序開發,通常通過Android SDK(Android軟體開發包)下使用Java
作為編程語言來開發應用程序,但通過不同的軟體開發包,則使用的編程語言也不同。
例如開發者可以通過Android NDK(Android Native開發包)使用C語言或者C++語言來作
為編程語言開發應用程序。同時Google還推出了適合初學者編程使用的Simple語言,該語
言類似微軟公司的Visual Basic語言。此外,Google公司還推出了Google App Inventor
開發工具,該開發工具可以快速地構建應用程式,方便新手開發者。
[编辑] Android Market
主條目:Android Market
Android Market,目前沒有規範的中文名,中國大陸地區大多使用「電子市場」以及「
Google市場」來稱呼。 2009年2月,Google推出Android Market線上應用程式商店,用戶
可在該平台網頁尋找、購買、下載及評級使用手機應用程序及其他內容[44]。第三方軟體
開發商和自由開發者則可以通過Android Market發布其開發的應用程序。截止至2011年10
月,Android Market上已有超過30萬個應用程序,並且在2011年12月,Android Market上
的應用程序下載量超過100億次。同時,全球已有1.3億台Android設備在Android Market
上下載過軟體。
只有通過Google公司許可並且認證的廠家才能在其產品設備上安裝Google服務框架和
Android Market。同時受到部分地區和國家政策的影響,Google根據部分地區和國家的政
策對Android Market上的內容進行了過濾,因此各地區和國家看到的內容不一樣。此外,
受到部分地區和國家的電信運營商的影響,Android Market在部分地區和國家可能不可使
用。
Android Market™內的付費程序在許多國家與地區內提供,如美國、英國、瑞典、德國、
斯里蘭卡、泰國、越南、香港、台灣[45]等。[46]由於受到Google退出中國事件影響,目
前Android Market的服務還沒有擴展到中國大陸地區,但大陸用戶仍可通過國際信用卡和
相關的免費軟體來完成購買。需要注意的是,通過這種方法購買的軟體可能不會得到當地
承認的發票(Invoice)。
除了Google的Android Market之外,還有其他公司的應用程式市場,如亞馬遜公司的
Amazon Appstore[47],它們都提供在線的APK程序的安裝和下載。
[编辑] 應用程式安全機制
Android操作系統使用了沙盤機制,所有的應用程序都會先被簡單地解包到沙盤中進行檢
查,並且將應用程序所需的權限提交給系統,並且將其所需權限以列表的形式展現出來,
供用戶查看。例如一個第三方瀏覽器需要「鏈接網路」的權限,或者一些軟體需要撥打電
話,發送簡訊等權限。用戶可以根據權限來考慮自己是否需要安裝,用戶只有在同意了應
用程式權限之後,才能進行安裝[48]。
[编辑] 惡意程式與病毒
由於Android操作系統的開放和自由性,一些惡意程式和病毒也隨之出現。2010年8月,卡
巴斯基病毒實驗室報告稱發現了Android操作系統上首個木馬程序,並將其命名為「
Trojan-SMS.AndroidOS.FakePlayer.a」[49],這是一個通過簡訊方式感染手機的木馬,
並且已經感染了一定數量的Android設備。除了簡訊感染方式,這些Android木馬還可以偽
裝成一些主流的應用程式,並且還可以隱藏在一些正規的應用程式之中[50][51]。儘管
Google公司通過定期的檢查撤除這些存在與Android Market上的惡意程式和病毒,但是這
並不能完全阻止其他病毒通過第三方網路的方式產生並且傳播[52]。目前Android操作系
統上已經擁有防病毒程式來防止手機中毒,例如AVG,卡巴斯基,賽門鐵克,Avast!等殺
毒軟體也已經發布了Android版本。
[编辑] SEAndroid
美國國家安全局在2012年1月發布SEAndroid開源項目和程式碼,使Android系統支援強制
存取控制(Mandatory Access Control)以增加系統安全性。[53] [54]
[编辑] 市場使用情況
[编辑] 市場佔有率
2009年第二季度,根據市場研究公司Canalys的數據顯示,Android佔據全球智能手機操作
系統市場2.8%的份額[55],這個數字在2010年第四季度的全球份額中增長到了33%,
Android操作系統也因此擊敗了諾基亞的Symbian系統成為了全球第一大智能手機操作系統
。2011年第三季度,根據市場調研公司Gartner的數據顯示,Android操作系統在全球智能
手機操作系統中的份額已經過半,達到了52.5%,全球有一半的智能手機使用Android操作
系統[56]。
2010年5月的數據顯示,Android操作系統在2010年第一季度的銷量超過了對手iOS平台,
成為美國最大的智能手機操作系統。
根據本土市場研究公司ComScore的數據顯示,2009年11月時,Android在美國的智能手機
操作系統市場的佔有率為5.2%[57],在2010年2月時,這個數字變成了9.0%,而在2010年
第三季度末時,Android已經佔據了美國市場的21.4%的份額[58]。截止至2011年6月,
Google表示,每天通過Google服務器激活的Android設備達到了55萬台[59],並且以每週
4.4%的速度增長.[60]。2011年8月1日,Canalys的數據顯示,Android已佔據美國48%的智
能手機市場佔有率[61]。2011年10月13日,Google表示,全球市場上有1.9億台Android設
備通過Google認證[62],而在2011年11月16日,全球市場上已有2億台Android設備通過
Google認證[63]。但是,搭載Android操作系統的平板電腦卻只有1.9%的份額,只有380萬
Android蜂巢平板被賣出,遠遠低於蘋果公司的iPad的銷量。[64]
[编辑] 用戶使用系統版本比例
Android chart.png
截止至2011年12月1日,不同的Android操作系統版本的用戶比例。[65]
版本
版本名稱 API level %
4.0 冰淇淋三明治 14-15 0%
3.x.x 蜂巢 11-13 2.4%
2.3.x 薑餅 9-10 50.6%
2.2 凍酸奶 8 35.3%
2.1 閃電泡芙 7 9.6%
1.6 甜甜圈 4 1.3%
1.5 紙杯蛋糕 3 0.8%
另外,Android操作系統還有兩個內部版本,它們分別是:鐵臂阿童木(Astro)和發條機
器人(Bender),在這兩個版本之後,Google為了避免商標問題,將Android操作系統的
代號由機器人轉變為了現在的甜點。[66]
[编辑] 版本
主條目:Android歷史版本
Android系統差不多每半年一次的升級步伐,每代Android系統都以甜點命名,比如1.5版
叫做Cupcake(紙杯蛋糕)、1.6版為Donut(甜甜圈)、2.0/2.1叫Éclair(閃電泡芙,
一種法式奶油夾心甜點[67])、2.2版為Froyo(冷凍乳酪)、2.3版為Gingerbread(薑餅
)、3.0版叫Honeycomb(蜂窩)及4.0版稱為Ice Cream Sandwich (冰淇淋三明治)。以
C D E F G H I字頭順序排列。Donut將把社交網路功能作為升級重點,在「手機的各種體
驗中」都增加社交網路元素[68]。
[编辑] 發佈
1.5
(Cupcake)
基於Linux Kernel 2.6.27 2009年4月30日,官方1.5版本(Cupcake 紙杯蛋糕)的
Android發佈。[69][70]
[71]主要的更新如下:
拍攝/播放影片,並支持上傳到Youtube
支持立體聲藍芽耳機,同時改善自動配對性能
最新的採用WebKit技術的瀏覽器,支持複制/貼上和頁面中搜索
GPS性能大大提高
提供螢幕虛擬鍵盤
主螢幕增加音樂播放器和相框widgets
應用程序自動隨著手機旋轉
簡訊、Gmail、日暦,瀏覽器的用戶介面大幅改進,如Gmail可以批量刪除郵件
相機啟動速度加快,拍攝圖片可以直接上傳到Picasa
來電照片顯示[72]
1.6
(Donut)
基於Linux Kernel 2.6.29 2009年9月15日,1.6(Donut 甜甜圈)版本軟體開發套件發
佈。[73][74]主要的更新如下:
重新設計的Android Market
手勢支持
支持CDMA網路
文字轉語音系統(Text-to-Speech)
快速搜索框
全新的拍照介面
查看應用程序耗電
支持虛擬私人網路(VPN)
支持更多的螢幕解析度。
支持OpenCore2媒體引擎
新增面向視覺或聽覺困難人群的易用性外掛程式[75]
2.0/2.0.1/2.1
(Eclair)
基於Linux Kernel 2.6.29 2009年10月26日,2.0(Eclair 鬆餅)版本軟體開發套件發
佈。[76]主要的更新如下:[77]
優化硬體速度
"Car Home"程序
支持更多的螢幕解析度
改良的用戶界面
新的瀏覽器的用戶介面和支持HTML5
新的聯繫人名單
更好的白色/黑色背景比率
改進Google Maps 3.1.2
支持Microsoft Exchange
支持內置相機閃光燈
支持數碼變焦
改進的虛擬鍵盤
支持藍芽2.1
支持動態桌面的設計
2.2/2.2.1
(Froyo)
基於Linux Kernel 2.6.32 2010年5月20日,2.2(Froyo 凍酸奶)版本軟體開發套件發
佈。[78]主要的更新如下:
支持將軟體安裝至擴展內存[79]
集成Adobe Flash 10.1支援[80]
加強軟體即時編譯的速度[81]
新增軟體啟動"快速"至電話和瀏覽器[82]
USB分享器和WiFi熱點功能[83]
支援在瀏覽器上傳檔案[84]
更新Market中的批次和自動更新[85]
增加對Microsoft Exchange的支援(安全政策, auto-discovery, GAL look-up)
整合Chrome的V8 JavaScript引擎到瀏覽器
加強快速搜索小工具
更多軟體能透過Market更新,類似2.0/2.1中的Map更新
速度和性能優化[85]
註:部分標稱為2.2的韌體仍然在使用2.6.29的核心。這種韌體可以實現大部分2.2的功能
(比如flash),但性能上與2.6.32有一定差距。
2.3
(Gingerbread)
基於Linux Kernel 2.6.35 2010年12月7日,2.3(Gingerbread 薑餅)版本軟體開發套
件發佈。[86]主要的更新如下:
修補UI[87]
支援更大的螢幕尺寸和解像度(WXGA及更高)
系統級複製粘貼
重新設計的多點觸摸螢幕鍵盤
原生支持多個鏡頭(用於視頻通話等)和更多感測器(陀螺儀、氣壓計等)
電話簿整合Internet Call功能
支援近場通信(NFC)
強化電源、應用程式管理功能
新增下載管理員
優化遊戲開發支援
多媒體音效強化
從YAFFS轉換到ext4文件系統
開放了螢幕截圖功能
對黑色及白色的還原更加真實
3.0.1/3.1/3.2
(Honeycomb)
基於Linux Kernel 2.6.36 * 2011年2月2日, 3.0(Honeycomb 蜂巢)版本主要更新如
下:
僅供平板電腦使用
Google eBooks上提供數百萬本書
支援平板電腦大螢幕、高解析度
新版Gmail
Google Talk視訊功能
3D加速處理
網頁版Market(Web store)詳細分類顯示,依個人Android分別設定安裝應用程式
新的短消息通知功能
專為平板電腦設計的用戶界面(重新設計的通知列與系統列)
加強多工處理的介面
重新設計適用大螢幕的鍵盤及複製貼上功能
多個標籤的瀏覽器以及私密瀏覽模式
快速切換各種功能的相機
增強的圖庫與快速捲動的聯絡人介面
更有效率的Email介面
支援多核心處理器
3.2優化7吋平板顯示
4.0
(Ice Cream Sandwich)
基於Linux Kernel 3.0.1 * 2011年10月19日,4.0(Ice Cream Sandwich 冰淇淋三明治
)版本主要更新如下:
藍色主題
相機內建全景(Panorama)模式
Gmail 外觀有所改動
改動用戶界面,新的啟動畫面,Home 畫面右下角類似 Tray 的圖示,內有多個程式
可運行
Google Search Bar 會設置在最上方
Apps/Widgets 會類似 Honeycomb 模樣
系統字型由原先的Droid Sans變更為Roboto
(Jelly Bean)
[编辑] 系統架構
藍色區塊:應用程式、管理與服務元件。綠色區塊:資料庫元件。黃色區塊:作業系統的
執行時期元件。紅色區塊:系統核心與驅動元件。
使用Android瀏覽器觀看維基百科的情形
日本DoCoMo SH10B的特製化Android
HTC Sense的待機畫面,圖中宏達電Hero機背面還印有Google授權字樣
[编辑] 應用程式
Android以Linux為核心的Android行動平台,使用Java作為程式語言,使介面到功能,都
有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個Activity類別負責建立視窗
,一個活動中的Activity就是在foreground(前景)模式,背景執行的程序叫做Service
。兩者之間透過由ServiceConnection和AIDL連結,達到複數程序同時執行的效果。如果
執行中的Activity全部畫面被其他Activity取代時,該Activity便被停止,甚至被系統清
除。
View等同於J2ME的Displayable,程式人員可以透過View類別與「XML layout」檔將UI放
置在視窗上,Android 1.5的版本可以利用View打造出所謂的Widgets,其實Widget只是
View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的
widget。至於ViewGroup是各種layout的基礎抽象類別,ViewGroup之內還可以有
ViewGroup。View的構造函數不需要在Activity中調用,但是Displayable的是必須的,在
Activity中,要通過findViewById()來從XML中取得View,Android的View類的顯示很大程
度上是從XML中讀取的。View與事件息息相關,兩者之間透過Listener結合在一起,每一
個View都可以註冊一個event listener,例如:當View要處理使用者觸碰的事件時,就要
向Android框架註冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。
[编辑] 中介軟體
作業系統與應用程式的溝通橋樑,並用分為兩層:函式層和虛擬機器。 Bionic是Android
改良libc的版本。Android同時包含了Webkit,所謂的Webkit就是Google Chrome瀏覽器背
後的引擎。Surface flinger是就2D或3D的內容顯示到螢幕上。Android使用工具鏈為
Google自製的Bionic Libc。
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類別取得共用資料庫。
Android的中間層多以Java實作,並且採用特殊的Dalvik虛擬機器。Dalvik虛擬機器是一
種「暫存器型態」的Java虛擬機器,變數皆存放於暫存器中,虛擬機器的指令相對減少。
Dalvik虛擬機器可以有多個實例,每個Android應用程式都用一個自屬的Dalvik虛擬機器
來執行,讓系統在執行程式時可達到最佳化。Dalvik虛擬機器並非執行Java位元組碼,而
是執行一種稱為.dex格式的檔案。
[编辑] 硬體抽像層
Android的硬體抽像層是能以封閉源碼形式提供硬體驅動模組。HAL的目的是為了把
Android framework與Linux kernel隔開,讓Android不至過度依賴Linux kernel,以達成
kernel independent的概念,也讓Android framework的開發能在不考量驅動程式實作的
前提下進行發展。
HAL stub是一種代理人的概念,stub是以*.so檔的形式存在。Stub向HAL「提供」操作函
數,並由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 並沒有 user space driver 這種東西。所有的Driver 還是在 Kernel space,
並以 HAL 隔開版權問題。bionic/libc/kernel/ 並非標準的kernel header files。
Android的kernel header是利用工具由Linux kernel header所產生的,這樣做是為了保
留常數、資料結構與巨集。
目前Android的Linux kernel控制包括安全、記憶體管理、進程管理、網路堆疊、驅動程
式模型等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo是
Android用來輔助Git工作的一個工具。
[编辑] 專利糾紛
《PC世界》雜誌網站2011年9月22日報導,Android已捲入1000多件專利訴訟。2011年8月
,Google斥資125億美元收購摩托羅拉移動及其擁有的約2.45萬份專利組合[88]。
--
plurk
http://www.plurk.com/dasea2010
face book
http://www.facebook.com/dasea.chien
google+
https://plus.google.com/u/0/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.189.44