Android

 

Android(讀音:['ændrɔid])是一種以Linux爲基礎的開放源碼操作系統,主要使用於便攜設備。它由谷歌公司和開放手持設備聯盟開發和領導。目前尚未有統一中文名稱,“安卓”和“安致”是在中國大陸流行的另一個稱呼。

Android操作系統最初由安迪·魯賓(Andy Rubin)創辦[3],最初主要支援手機。2005年8月17日被谷歌公司(Google)收購注資。[4] 2007年11月5日,谷歌公司與84家硬件製造商、軟件開發商及電信運營商組成開放手持設備聯盟(Open Handset Alliance)來共同開發改良Android操作系統並生產搭載Android的智能手機[5][6][7][8] ,並逐漸擴展到到平板電腦及其他領域上[9]。隨後,Android獲得了Apache免費開源許可證,谷歌公司發佈了其源代碼[10]。同時,一個負責進一步發展和維護Android操作系統的Android開源項目也被建立(AOSP)。[11]

Android的內核基於Linux,除了內核之外,則是中介層、數據庫元和用C/C++編寫的API以及應用程式框架。Android的應用程序通常以Java數據庫元爲基礎編寫,運行程序時,應用程式的代碼會被即時轉變爲Dalvik dex-code (Dalvik Executable),然後Android操作系統通過使用即時編譯的Dalvik虛擬機來將其運行。[12]

除了開放手持設備聯盟之外,Android還擁有許多由全球各地開發者組成的開源社區來專門負責開發Android應用程式和第三方Android操作系統來延長和擴展Android的功能和性能。[13]截止至2011年10月,Android電子市場上擁有超過30萬個認證的應用程式,電子市場的應用程式下載量也在2011年12月達到100億次[14][15]。由於Android是開放的,因此它還可以通過第三方網站來下載安裝電子市場上所沒有的應用程式。

2010年末數據顯示,僅正式推出兩年的操作系統的Android在市場佔有率上已經超越稱霸十年的諾基亞Symbian系統[16][17] 。2011年8月,Android操作系統在全球智能手機操作系統的市場份額已達48%,成爲全球第一大智能手機操作系統。[18]

目錄

 [隱藏

名稱來源

Android一詞最早出現於法國作家利爾亞當Auguste Villiers de l'Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L'Ève future)中。他將外表像人的機器起名爲Android。

Logo來源

Android的Logo是由Ascender公司設計的。其中的文字使用了Ascender公司專門製作的稱之爲“谷歌Droid字體”的字體[19]

Android是一個全身綠色的機器人,綠色也是Android的標誌。顏色採用了PMS 376C和RGB中十六進制的#A4C639來繪製,這是Android操作系統的品牌象徵[20]。有時候,它們還會使用純文字的Logo。[21]

歷史

成立

2003年10月,有“Android之父”之稱的安迪·魯賓(Andy Rubin)[22]在美國加利福利亞州的帕洛阿爾託建立了Android科技公司(Android Inc.),並與米奇·米納爾(Rich Miner)[23]尼克·席爾斯(Nick Sears)[24]克里斯·懷特(Chris White)[25]共同發展這家公司。談到建立Android科技公司的原因,魯賓說:“聰明的移動設備能更好的意識到用戶的愛好和要求”[26]。儘管Android科技公司的創始人和員工過去都具有各自的科技成就,但是Android科技公司的經營只顯露出它在手機軟件的方面。

同年,魯賓爲Android科技公司花光了所有的錢。就在這時,史蒂夫·帕爾曼(Steve Perlman)遞給了魯賓一個信封,在裏面裝有1萬美金的現金,並且帕爾曼並不是以投資的方式給魯賓這筆錢,因爲他拒絕了魯賓給他的股份。[27]

谷歌的收購

2005年8月17日,谷歌公司收購了Android科技公司,Android科技公司成爲谷歌公司旗下的一部分,包括米奇·米納爾、克里斯·懷特等所擁有的全資子公司,所有Android科技公司的員工都被併入谷歌公司。當時,沒有人知道谷歌公司爲什麼作出這項收購,有許多的猜測,後來證明谷歌正是藉助此次收購正式進入移動領域。

收購後的發展

在谷歌公司,魯賓領導着一個負責開發基於Linux內核移動操作系統的團隊,這個開發項目便是Android操作系統。谷歌公司的合作平臺爲Android提供了廣闊的市場,谷歌公司給予各大硬件製造商、軟件開發商一個靈活可靠的系統升級承諾,並保證將給予它們最新版本的操作系統。 2006年12月,美國“華爾街日報”和英國BBC電視臺報道了谷歌有可能進入移動領域的傳聞,谷歌公司有可能推廣移動領域下的各種谷歌服務,並且將推出一款名爲谷歌手機的自主品牌手機。另有傳聞指出,按照谷歌的作風,將有可能呈現出新的手機製造商和運營商模式。 2007年9月,谷歌提交了多項移動領域的專利申請。但並沒有人知道谷歌將會推出的是一款名爲Android的手機操作系統,更多的猜測是谷歌會推出一款像iPhone一樣的自主品牌手機系列。[28][29][30]

開放手持設備聯盟

2007年11月5日,在谷歌公司的領導下,開放手持設備聯盟建立,最開始的一批創始成員包括Broadcom公司、HTCIntelLGMarvell等公司。開放手持設備聯盟的建立目的是爲了創建一個更加開放自由的移動手機環境。而在開放手持設備聯盟創建的同一天,聯盟對外展示了他們的第一個產品,一臺搭載了以Linux 2.6爲內核基礎的Android操作系統的智能手機。 2008年12月9日,新一批成員加入開放手持設備聯盟,包括ARM華爲索尼愛立信等公司。[31][32]

許可證

Android操作系統使用開放免費源代碼許可證,一切源代碼都是公開免費[33] 的。谷歌對Android所使用的Linux內核依據Apache開源條款2.0中所規定的內容進行了修改,[34][35][36][37]包括添加手機網絡和電話協議棧等手機所必需的功能,使它們能更好的在移動設備上運行,並且根據第二版GNU條款中所規定的內容對修改的Linux內核信息公佈。谷歌也不斷髮布問卷和開放修改清單、更新情況和源代碼來讓任何人看到並且提出他們的意見和評論,以便按照用戶的要求改進Android操作系統。 Android操作系統是完全免費開源的,任何廠商都可以不經過谷歌和開放手持設備聯盟的授權隨意使用Android操作系統,但是製造商不能隨意地在自己的產品上使用谷歌(谷歌)的標誌和谷歌的應用程序,例如Android Market等,除非谷歌證明其生產的產品設備符合谷歌兼容性定義文件(CDD),這樣才能在手機上預裝Android Market、Gmail等應用程序,並且獲得CDD的手機廠商也可以在其生產的手機上印上“With 谷歌”的標誌[38]

系統設計

Linux內核

Android操作系統的內核屬於Linux內核的一個分支,具有典型的Linux週期和功能,[39]除此之外,谷歌公司爲了能讓Linux在移動設備上良好的運行,對其進行了修改和擴充。Android去除了Linux中的本地X Window System,也不支持標準的GNU庫,這使得Linux平臺上的應用程序移植到Android平臺上變得困難[40]。2008年,Patrick Brady於谷歌 I/O演講“Anatomy & Physiology of an Android”,並提出的Android HAL架構圖。HAL以*.so檔的形式存在,可以把Android framework與Linux kernel隔開,這種中介層的方式使得Android能在移動設備上獲得更高的執行效率。這種獨特的系統結構被Linux內核開發者Greg Kroah-Hartman和其他內核維護者稱讚。谷歌還在Android的內核中加入了自己開發製作的一個名爲“wakelocks”的移動設備電源管理功能,該功能用於管理移動設備的電池性能,但是該功能並沒有被加入到Linux內核的主線開放和維護中,因爲Linux內核維護者認爲谷歌沒有向他們展示這個功能的意圖和代碼。 2010年2月3日,由於谷歌在Android內核開發方面和Linux社區方面開發的不同步,Linux內核開發者Greg Kroah-Hartman將Android的驅動程序從Linux內核“狀態樹”(“staging tree”)上除去。[41]2010年4月,谷歌宣佈將派遣2名開發人員加入Linux內核社區,以便重返Linux內核。2010年9月,Linux內核開發者Rafael J. Wysocki添加了一個修復程序,使得Android的“wakelocks”可以輕鬆地與主線Linux內核合併。2011年,Linus Torvalds說:“Android的內核和Linux的內核將最終迴歸到一起,但可能不會是4-5年。”

特點

當前的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內置的瀏覽器測試中,HTML5Acid3故障處理中均獲得了滿分,並且支持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操作系統從最初的版本開始就支持使用語音操作來使用谷歌進行網頁搜索等功能。而從Android OS v2.2開始,語音功能還可以用來輸入文字、語音導航等功能。
無線共享功能
Android操作系統支持用戶使用本機充當“無線路由器”,並且將本機的網絡共享給其他手機,其他機器只需要通過WiFi尋找到共享的無線熱點,就可以上網。而在Android OS v2.2版本之前的操作系統則需要通過第三方應用或者其他定製版系統來實現這個功能。
截圖功能
從Android OS v4.0版本開始,Android操作系統便支持截圖功能,該功能允許用戶直接抓取手機屏幕上的任何畫面,用戶還可以通過編輯功能對截圖進行處理,還可以通過藍牙/E-mail/微博/共享等方式發送給其他用戶或者上傳到網絡上,也可以拷貝到電腦中。

硬件支持

由於Android操作系統的開放性和可移植性,它可以被用在大部分電子產品上。包括:手機,上網本,平板電腦,個人電腦,筆記本電腦,電視,機頂盒,MP3,MP4,掌上遊戲機,家用主機,電子手錶,電子收音機,耳機,汽車設備,導航儀,CD機,VCD機,DVD機,機頂盒以及其他設備。

Android操作系統大多搭載在使用了ARM架構的硬件設備上。但是同樣也有支持X86架構的Android操作系統,比如谷歌公司的谷歌 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操作系統MicrosoftWindows Phone 7RIM使用的BlackBerry OS系統。[43]

應用程序

早期的Android應用程序開發,通常通過Android SDK(Android軟件開發包)下使用Java作爲編程語言來開發應用程序,但通過不同的軟件開發包,則使用的編程語言也不同。

例如開發者可以通過Android NDK(Android Native開發包)使用C語言或者C++語言來作爲編程語言開發應用程序。同時谷歌還推出了適合初學者編程使用的Simple語言,該語言類似微軟公司的Visual Basic語言。此外,谷歌公司還推出了谷歌 App Inventor開發工具,該開發工具可以快速地構建應用程式,方便新手開發者。

Android Market

主條目:Android Market

Android Market,目前沒有規範的中文名,中國大陸地區大多使用“電子市場”以及“谷歌市場”來稱呼。 2009年2月,谷歌推出Android Market線上應用程式商店,用戶可在該平臺網頁尋找、購買、下載及評級使用手機應用程序及其他內容[44]。第三方軟件開發商和自由開發者則可以通過Android Market發佈其開發的應用程序。截止至2011年10月,Android Market上已有超過30萬個應用程序,並且在2011年12月,Android Market上的應用程序下載量超過100億次。同時,全球已有1.3億臺Android設備在Android Market上下載過軟件。

只有通過谷歌公司許可並且認證的廠家才能在其產品設備上安裝谷歌服務框架和Android Market。同時受到部分地區和國家政策的影響,谷歌根據部分地區和國家的政策對Android Market上的內容進行了過濾,因此各地區和國家看到的內容不一樣。此外,受到部分地區和國家的電信運營商的影響,Android Market在部分地區和國家可能不可使用。

Android Market™內的付費程序在許多國家與地區內提供,如美國英國瑞典德國斯里蘭卡泰國越南香港臺灣[45]等。[46]由於受到谷歌退出中國事件影響,目前Android Market的服務還沒有擴展到中國大陸地區,但大陸用戶仍可通過國際信用卡和相關的免費軟件來完成購買。需要注意的是,通過這種方法購買的軟件可能不會得到當地承認的發票(Invoice)。

除了谷歌的Android Market之外,還有其他公司的應用程式市場,如亞馬遜公司的Amazon Appstore[47],它們都提供在線的APK程序的安裝和下載。

應用程式安全機制

Android操作系統使用了沙盤機制,所有的應用程序都會先被簡單地解包到沙盤中進行檢查,並且將應用程序所需的權限提交給系統,並且將其所需權限以列表的形式展現出來,供用戶查看。例如一個第三方瀏覽器需要“鏈接網絡”的權限,或者一些軟件需要撥打電話,發送短信等權限。用戶可以根據權限來考慮自己是否需要安裝,用戶只有在同意了應用程式權限之後,才能進行安裝[48]

惡意程式與病毒

由於Android操作系統的開放和自由性,一些惡意程式和病毒也隨之出現。2010年8月,卡巴斯基病毒實驗室報告稱發現了Android操作系統上首個木馬程序,並將其命名爲“Trojan-SMS.AndroidOS.FakePlayer.a[49],這是一個通過短信方式感染手機的木馬,並且已經感染了一定數量的Android設備。除了短信感染方式,這些Android木馬還可以僞裝成一些主流的應用程式,並且還可以隱藏在一些正規的應用程式之中[50][51]。儘管谷歌公司通過定期的檢查撤除這些存在與Android Market 上的惡意程式和病毒,但是這並不能完全阻止其他病毒通過第三方網絡的方式產生並且傳播[52]。目前Android操作系統上已經擁有防病毒程式來防止手機中毒,例如KasperskyTrend MicroSymantec 等防護軟件也已經發布了Android版本。

SEAndroid

美國國家安全局在2012年1月發佈SEAndroid開源項目和程式碼,使Android系統支援強制存取控制(Mandatory Access Control)以增加系統安全性。[53][54]

中國大陸

目前在中國大陸售賣的Android手機行貨手機,幾乎所有廠商包括摩托羅拉、三星、HTC等,均把谷歌服務包完全刪除,中國用戶需要重新刷機或重新安裝谷歌服務包才能使用谷歌的應用服務。步驟是先安裝谷歌服務框架(谷歌ServicesFramework.apk)、日曆同步(谷歌CalendarSyncAdapter.apk)、Gmail(郵箱官方客戶端 Gmail.apk)、聯繫人同步(谷歌ContactsSyncAdapter.apk)和谷歌搜索(谷歌QuickSearchBox.apk)這5款應用軟件。如需谷歌地圖、Gtalk,在安裝完上述5款應用後,可再搜索下載地圖、Gtalk等應用。谷歌服務框架(谷歌ServicesFramework.apk)是上述應用程序的核心,要想使用谷歌的其他服務,必須先安裝它。

因受防火長城干擾,在中國大陸使用谷歌應用服務(包括Market)有時會出現無法連線的情況,需開啓VPN或ROOT機後修改Hosts。中國用戶因國行沒有官方Market,不少人只能被迫使用第三方服務,如安卓市場等。

市場使用情況

市場份額

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月,谷歌表示,每天通過谷歌服務器激活的Android設備達到了55萬臺[59],並且以每週4.4%的速度增長.[60]。2011年8月1日,Canalys的數據顯示,Android已佔據美國48%的智能手機市場份額[61]。2011年10月13日,谷歌表示,全球市場上有1.9億臺Android設備通過谷歌認證[62],而在2011年11月16日,全球市場上已有2億臺Android設備通過谷歌認證[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),在這兩個版本之後,谷歌爲了避免商標問題,將Android操作系統的代號由機器人轉變爲了現在的甜點。[66]

版本

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
  • 新的聯繫人名單
  • 更好的白色/黑色背景比率
  • 改進谷歌 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)
  • 整合ChromeV8 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 蜂巢)版本主要更新如下:
  • 僅供平板電腦使用
  • 谷歌 eBooks上提供數百萬本書
  • 支援平板電腦大螢幕、高分辨率
  • 新版Gmail
  • 谷歌 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 的圖示,內有多個程式可運行
  • 谷歌 Search Bar 會設置在最上方
  • Apps/Widgets 會類似 Honeycomb 模樣
  • 系統字型由原先的Droid Sans變更爲Roboto

(Jelly Bean)
 

系統架構

藍色區塊:應用程式、管理與服務元件。綠色區塊:數據庫元件。黃色區塊:操作系統的執行時期元件。紅色區塊:系統核心與驅動元件。
使用Android瀏覽器觀看維基百科的情形
日本DoCoMo SH10B的特製化Android
HTC Sense的待機畫面,圖中宏達電Hero機背面還印有谷歌授權字樣

應用程式

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就是谷歌 Chrome瀏覽器背後的引擎。Surface flinger是就2D或3D的內容顯示到螢幕上。Android使用工具鏈爲谷歌自制的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公司被谷歌收購,2007年初,Skia GL源碼被公開,目前Skia也是谷歌 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大都沒有支援,包括CairoX11AlsaFFmpegGTKPangoGlibc等都被移除掉了。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月,谷歌斥資125億美元收購摩托羅拉移動及其擁有的約2.45萬份專利組合[88]

參見

參考資料

  1. ^ Lextrait, Vincent. The Programming Languages Beacon, v10.0 [5 January 2010]. 
  2. ^Licenses. Android Open Source Project.Open Handset Alliance [2010-06-10]. 
  3. ^ Android之父Andy Rubin:生而Geek作者:wuzhimin本文來自《程序員》雜誌2010年9期
  4. ^ Google Buys Android for Its Mobile Arsenal. Businessweek.com. 2005-08-17[2010-10-29]. 
  5. ^Open Handset Alliance. Open Handset Alliance[2010-06-10]. 
  6. ^ Jackson, Rob. Sony Ericsson, HTC Androids Set For Summer 2009. Android Phone Fans. 10 December 2008[2009-09-03]. 
  7. ^Open Handset Alliance.Industry Leaders Announce Open Platform for Mobile Devices, 新聞稿. 2007-11-05 [2007-11-05]. 
  8. ^ Open Handset Alliance.FAQ, 新聞稿 [2010-11-15]. 
  9. ^ Android開發簡介developerWorks IBM 2009年6月08日
  10. ^Android Overview. Open Handset Alliance[2008-09-23]. 
  11. ^About the Android Open Source Project[2010-11-15]. 
  12. ^ Tim Bray. What Android Is. ongoing by Tim Bray. 24 November 2010 [27 October 2011]. 
  13. ^ Shankland, Stephen. 谷歌's Android parts ways with Java industry group. CNET News. 12 November 2007. 
  14. ^Android Market reaches 500,000 app mark. www.t3.com. 2011-10-23[2011-10-23]. 
  15. ^Christina Bonnington. Google’s 10 Billion Android App Downloads: By the Numbers. wired.com. 8 December 2011[12 December 2011]. 
  16. ^Tarmo Virki and Sinead Carew. 谷歌 topples Symbian from smartphones top spot. Reuters. 2011-01-31 [1 February 2011]. 
  17. ^ Google's Android becomes the world's leading smart phone platform (Canalys research release: r2011013). Canalys. 31 January 2011[1 February 2011]. 
  18. ^ Android市場份額已達48%Canalys數據2011/02/01
  19. ^ Woyke, Elizabeth. Android's Very Own Font. Forbes. 26 September 2008. 
  20. ^ Brand Guidelines. Android. 23 March 2009[2009-10-30]. 
  21. ^ Android Brand Guidelines. Android. 23 March 2009[2010-04-10]. 
  22. ^Markoff, John. I, Robot: The Man Behind the Google Phone. The New York Times. 2007-11-04 [2008-10-14]. 
  23. ^Kirsner, Scott. Introducing the 谷歌 Phone. The Boston Globe. 2007-09-02 [2008-10-24] (原始內容存檔於January 4, 2010). 
  24. ^ Nokia. T-Mobile Brings Unlimited Multiplayer Gaming to US Market with First Launch of Nokia N-Gage Game Deck, 新聞稿. 23 September 2003[2009-04-05]. 
  25. ^ Elgin, Ben. 谷歌 Buys Android for Its Mobile Arsenal. BusinessWeek. 17 August 2005 [2009-04-23]. 
  26. ^Elgin, Ben. Google Buys Android for Its Mobile Arsenal. businessweek.com. Bloomberg L.P. 2005-08-17[2011-02-24] (原始內容存檔於2011-02-24). "In what could be a key move in its nascent wireless strategy, 谷歌 (GOOG) has quietly acquired startup Android Inc...." 
  27. ^Vance, Ashlee. A Thousand Times Yes. Bloomberg BusinessWeek. 2011-08-07 [2011-11-09]. 
  28. ^Block, Ryan. Google is working on a mobile OS, and it's due out shortly. Engadget. 2007-08-28 [2007-11-06]. 
  29. ^ Sharma, Amol; Delaney, Kevin J.. 谷歌 Pushes Tailored Phones To Win Lucrative Ad Market. The Wall Street Journal. 2007-08-02 [2007-11-06]. 
  30. ^ Google admits to mobile phone plan. directtraffic.org. 谷歌 News. 2007-03-20[2007-11-06]. 
  31. ^ Martinez, Jennifer. Corrected: Update 2: More mobile phone makers back 谷歌's Android. Reuters. Thomson Reuters. 2008-12-10 [2008-12-13]. 
  32. ^ Kharif, Olga. Google's Android Gains More Powerful Followers. BusinessWeek. McGraw-Hill. 2008-12-09 [2008-12-13]. 
  33. ^ Boulton, Clint. 谷歌 Open-Sources Android on Eve of G1 Launch. eWeek. 21 October 2008 [2009-09-03]. 
  34. ^ Bort, Dave. Android is now available as open source. Android Open Source Project. 21 October 2008[2009-09-03]. .Mirror link.
  35. ^ Licenses: Android Open Source. Android Open Source Project[25 October 2011]. 
  36. ^ Ryan Paul. Why Google chose the Apache Software License over GPLv2 for Android. Ars Technica[25 October 2011]. 
  37. ^ Android issues reviewed. Code.google.com[2011-08-08]. 
  38. ^Android Open Source Project Frequently Asked Questions: Compatibility. source.android.com[13 March 2011]. 
  39. ^ Androidology – Part 1 of 3 – Architecture Overview, [Video].YouTube. 2008-09-06 [2007-11-07]. 
  40. ^ Paul, Ryan. Dream(sheep++): A developer's introduction to Google Android. Ars Technica. 23 February 2009[2009-03-07]. 
  41. ^ 新浪科技. 谷歌Android被Linux內核除名. 2010年2日4 [2010年4月9日](簡體中文). 
  42. ^ 谷歌手機亮相蘋果日報2008年02月12日
  43. ^ Android稱王 扳倒不敗諾基亞聯合新聞網2011/02/01
  44. ^ 谷歌推出Anroid Market在線軟件平臺新浪科技2008年08月29日09:31
  45. ^ 注:因谷歌與臺北市政府間對於軟件是否適用7日鑑賞期的消費者保護法規存在爭議,2011年7月起暫停了臺灣的付費軟件下載。
  46. ^ Paid App Availability (In English) 谷歌 Inc. 2011
  47. ^Ganapati, Priya. Independent App Stores Take On Google’s Android Market. Wired News. June 11, 2010[2011-02-02]. 
  48. ^ Android Security Overview. Android Open Source Project[23 October 2011]. 
  49. ^ First SMS Trojan detected for smartphones running Android. Kaspersky Lab[2010-10-18]. 
  50. ^ The Mother Of All Android Malware Has Arrived. Android Police. March 6, 2011. 
  51. ^ Perez, Sarah. Android Vulnerability So Dangerous, Owners Warned Not to Use Phone's Web Browser. Readwriteweb.com. 2009-02-12[2011-08-08]. 
  52. ^ 谷歌 Responds To Android Malware, Will Fix Infected Devices And ‘Remote Kill’ Malicious Apps.TechCrunch. March 6, 2011. 
  53. ^ SEAndroid
  54. ^ The Case for SE Android
  55. ^Canalys: iPhone outsold all Windows Mobile phones in Q2 2009. AppleInsider. 2009-08-21 [2009-09-21]. 
  56. ^ Gartner Says Sales of Mobile Devices Grew 5.6 Percent in Third Quarter of 2011; Smartphone Sales Increased 42 Percent. 15 November 2011[16 November 2011]. 
  57. ^comScore Reports February 2010 U.S. Mobile Subscriber Market Share. Comscore.com. 5 April 2010 [24 December 2010]. "RIM, 42.1%; Apple, 25.4%; Microsoft, 15.1%; 谷歌 (Android), 9.0%; Palm, 5.4%; others, 3.0%" 
  58. ^ comScore Reports September 2010 U.S. Mobile Subscriber Market Share. Comscore.com. 3 November 2010 [24 December 2010]. 
  59. ^ 谷歌 activates 500,000 Android devices a day, may reach 1 million in October. Yahoo News. 28 June 2011. 
  60. ^ Kumparak, Greg. Android Now Seeing 550,000 Activations Per Day. Techcrunch. 14 July 2011. 
  61. ^ Android takes almost 50% share of worldwide smart phone market. 1 August 2011[2011-08-05]. 
  62. ^ Erick Schonfeld. Larry Page: Mobile Revenues At $2.5 Billion Run-Rate, 190 Million Android Devices. TechCrunch. 13 October 2011[24 October 2011]. 
  63. ^ Lance Whitney. 谷歌: 200 million Android devices now active worldwide. CNET News. 2011-11-17 [27-11-2011]. 
  64. ^ Charlie Sorrel. Only 3.8 Million Honeycomb Tablets Sold So Far. Wired.com. 2011-11-17 [27-11-2011]. 
  65. ^ Android Platform Versions. Android Developers. 03-11-2011[02-12-2011]. 
  66. ^ Google Keynote at AnDevCon II. Development Team. 09 November 2011. 
  67. ^ 有傳聞 Android 2.1 使用“Flan”(水果餡餅)作爲代號,後證實2.1仍爲Éclair,2.2爲Froyo
  68. ^ 谷歌:Chrome與Android系統各有分工
  69. ^ Ducrohet, Xavier. Android 1.5 is here!. Android Developers Blog. 27 April 2009 [2009-09-03]. 
  70. ^ android 3.0 tablet
  71. ^ Rob, Jackson. CONFIRMED: Official Cupcake Update Underway for T-Mobile G1 USA & UK!. Android Phone Fans. 30 April 2009[2009-09-03]. 
  72. ^ Android 1.5 Platform Highlights. Android Developers. April 2009[2009-09-03]. 
  73. ^ Ducrohet, Xavier. Android 1.6 SDK is here. Android Developers Blog. 15 September 2009 [2009-10-01]. 
  74. ^ Ryan, Paul. 谷歌 releases Android 1.6; Palm unleashes WebOS 1.2. ars technica. 1 October 2009[2009-10-01]. 
  75. ^ Android 1.6 Platform Highlights. Android Developers. September 2009[2009-10-01]. 
  76. ^ Android 2.0, Release 1. Android Developers[27 October 2009]. 
  77. ^ Android 2.0 Platform Highlights. Android Developers[27 October 2009]. 
  78. ^ Savov, Vladislav. Next Android version will be called Froyo, says Erick Tseng. Engadget.com. 16 January 2010[2010-01-16]. 
  79. ^ Android support for memory card app storage is finally "coming soon". 谷歌 Code[1 May 2010]. 
  80. ^ Google's Andy Rubin on Everything Android. NY Times[20 May 2010]. 
  81. ^ Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster. androidpolice [13 May 2010]. 
  82. ^ A Video Of An Adobe Evangelist Showcasing Flash 10.1 Smoothly Running On A Nexus One With Android 2.2 Froyo. androidpolice [13 May 2010]. 
  83. ^ Exclusive: Google To Add Tethering, Wifi Hotspot To Android 2.2 Froyo. TechCrunch. 13 May 2010[13 May 2010]. 
  84. ^ Browser support for file upload field is coming in Froyo. 谷歌 Code[13 May 2010]. 
  85. ^ 85.0 85.1 Unofficially Confirmed Froyo Features, Post-Day-1 Of Google I/O. Android Police [20 May 2010]. 
  86. ^ Android 2.3 Gingerbread正式登場、新功能全面睇!. 
  87. ^ Android Team“Laser Focused”On The User Experience For Next Release. 
  88. ^最近比較煩? 細數Android成長之煩惱》王彥恩,中關村在線,2011年09月29日。

外部鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章