Android

開源的行動作業系統

Android[ˈænˌdrɔɪd],非官方中文名为「安卓」)是一個基於Linux核心与其他开源软件開放原始碼行動作業系統,由谷歌成立的開放手機聯盟持續領導與開發。

Android
开发者谷歌
開放手機聯盟
编程语言C(内核)[1]
C++(部分第三方軟件)
Java(使用者介面)[2]
Kotlin[3]
Python
作業系統家族Linux類Unix系統
運作狀態开发中
源码模式開放原始碼[4]與部份專有元件[5]
首次发布Android 1.0 beta(2007年11月5日,​16年前​(2007-11-05
当前版本
  • 14 (2023年10月4日;穩定版本)[6]
編輯維基數據鏈接
市場取向智能電話
平板電腦
智能電視Android TV
車載資訊系統Android AutoAndroid Automotive
智慧型手錶Wear OS
支持的语言100+种[7]
软件包管理系统APK (主要透過Google Play;也可以在本機安裝或是從其他來源,例如F-Droid)
支援平台3264位元ARMx86x86-64RISC-V
内核类别整塊性核心Linux核心
使用者空間Bionic (軟體)[8]mksh[9]Toybox英语Toybox作為從Android 6.0開始的核心實用程序[10][11],以前的有些來自NetBSD的原生核心實用程序[12][13]
默认用户界面圖形使用者介面多點觸控
许可证Apache许可证2.0
GPL v2(修改的Linux内核[14]
官方網站android.com 編輯維基數據鏈接
仓库https://android.googlesource.com页面存档备份,存于互联网档案馆

该操作系统的核心为Android开源项目(英語:Android Open Source Project),简称“AOSP”, 是根据Apache许可证授权的免费开源软件。[15]然而,大多数设备使用谷歌开发的专有Android版本,预装谷歌移动服务专有软件;虽然AOSP是免费的,但“Android”名称和徽标是谷歌的商标,谷歌可以限制未经认证的设备不得使用Android品牌和谷歌的专有版本。[16][17]

Android Inc.於2003年10月由安迪·鲁賓利奇·米納爾、尼克·席爾斯、克里斯·懷特在加州帕羅奧圖創建。Android最初由安迪·鲁賓等人開發製作[18],最初開發這個系統的早期方向是創建一個數位相機的先進作業系統,但是後來發現相機市場規模不足實現其目標,轉而開發智慧型手機系統,於是Android成為一款面向智慧型手機的作業系統。於2005年7月11日Android Inc.美國科技企業Google收購[19][20]

2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商成立開放手機聯盟來共同研發Android,隨後,GoogleApache免費開放原始碼許可證的授權方式,發佈了Android的原始碼[21],開放原始碼加速了Android普及,讓生產商推出搭載Android的智慧型手機[22][23][24][25]Android後來更逐漸拓展到平板電腦及其他領域上[26]

2010年末數據顯示,僅正式推出兩年的Android作業系統在市場佔有率上已經超越稱霸逾十年的諾基亞Symbian系統[27][28],成為全球第一大智慧型手機作業系統[29]。在2014年Google I/O開發者大會上Google宣佈過去30天裡有10億台活躍的Android設備。

2017年3月,Android全球網路流量和設備超越Microsoft Windows,正式成為全球第一大作業系統[30]。截至2023年2月,根據StatCounter統計,除了美國、英國、加拿大、巴哈马、冰岛、挪威、瑞典、丹麥瑞士科索沃、日本、台灣和澳大利亞外,在其他所有國家和地區Android都是最被廣泛使用的智慧型手機作業系統[31]

歷史

成立

「Sooner」原型手機[32]搭載著尚未發布的Android系統

2003年10月,有「Android之父」之稱的安迪·鲁賓[33]利奇·米纳尔[34]尼克·席爾斯英语Nick Sears[35]克里斯·懷特[36]美國加利福尼亞州帕羅奧圖共同成立了Android科技公司(英文:Android Inc.),鲁賓把Android項目描述為「有極大的潛能以開發更智能的行動設備,以更了解其用户的位置及偏好[37]。」該公司早期的方向是為數碼相機開發先進的作業系統,此亦是2004年4月該公司向投資者介紹的基礎[38]。儘管Android科技公司的創始人和員工過去都具有各自的科技成就,但是Android科技公司的經營只顯露出它在智慧型手機軟體的方面,該公司隨後認為相機市場不足以實現其目標,並且在5個月之後努力把Android轉移到一款可跟Symbian微軟Windows Mobile互相媲美的手機作業系統[38][39]

在Android科技公司成立初期,鲁賓在吸引投資者方面遇到困難,他也為公司花光所有錢,使公司面臨著被驅逐的景況。就在此時,鲁賓的一位密友,史蒂夫·帕爾曼(Steve Perlman)給他一個裡面裝有1萬美元現金的信封,此後不久,此筆未披露的金額被視為種子資金。然而帕爾曼拒絕鲁賓所給他的股份,因他並非是以投資的方式給鲁賓這筆錢,他表示:「我這樣做是因為我相信這件事,並且我想幫安迪。」[40][41][42]

Android命名由來

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

Android標誌

首个Android标志(2007–2014)
第二个Android标志(2014–2015)
第三个Android标志(2015–2019)
第四个Android标志(2019-2023)
第五个Android标志(2023-现在)

Android是一個全身綠色的機器人,半圓形的頭部,有兩支天線和空白的點作為眼睛。它的頭部與身體之間有空白的區域,相似於一枚有平底的雞蛋,兩側各有兩個圓角矩形,作為它的雙臂。Android的標誌是由Ascender公司設計,顏色採用了PMS 376C和RGB中十六進制的#A4C639來繪製,這是Android作業系統的品牌象徵[43]。當中的文字使用了Ascender公司專門製作的稱之為“Google Droid”的字型[44]。有時候,它會以純文字的標誌展示[45]

Google的收購及發展

2005年7月11日,Google以高於$5,000萬美元的價錢收購了Android科技公司[46],使其成為Google旗下的一部分。Android的關鍵人物包括安迪·鲁賓、利奇·米納爾和克里斯·懷特,以及所有Android科技公司的員工都一併加入Google,作為收購的一部分。當時並沒有人知道Google為何會作出這項收購,引來許多的猜測,後來證實Google正是借助該次收購正式進入行動領域。根据前Google CEO施密特的说法,收購Android目的是抗衡微軟,試圖阻止微軟在移動市場複製桌面市場的成功[47]。在Google,由鲁賓領導的團隊開發了一個基於Linux核心驅動的行動作業系統的平台,該開發項目便是Android作業系統。Google向手機製造商及手機網絡供應商推出該平台,承諾提供一個靈活可靠並可升級的系統[48],為Android提供一個廣闊的市場。Google組織了一系列硬件及軟件的合作夥伴,並向運營商示意指公司開放到各種程度的合作[49]

2006年12月,《華爾街日報》和英國廣播公司(BBC)報導了Google有機會進入流動領域的傳聞[50],Google有可能推廣行動領域下的各種Google服務,並且將推出一款名為Google電話的自有品牌智慧型手機。另有傳聞指出,按照Google的作風,將有可能呈現出新的智慧型手機製造商和運營商模式。傳聞指其早期原型BlackBerry手機非常相似,沒有觸控螢幕和物理QWERTY鍵盤,但這其實也是針對微軟而做的,因為當時的Windows Mobile手機有很多都是這樣的設計[47]。然而2007年蘋果公司推出iPhone,這令Android創始人安迪·魯賓對原型機大為不滿[51],意味著Android系統的設計「不得不回到草稿重新來過」[52][53]。Google後來修改了Android系統的規範文檔,指出「支援觸控螢幕」,雖然「產品的設計是以離散物理按鈕作為假設,因此觸控螢幕不能完全取代物理按鈕」[54]

2007年9月,Google提交了多項行動領域的專利申請。但並沒有人知道,Google將會推出的是一款名為Android的智慧型手機作業系統。更多的猜測是,Google會推出一款像iPhone一樣的自有品牌智慧型手機系列。[55][56][57]

市場上第一款採用Android作業系統的智能手機HTC Dream

2007年9月,數碼雜誌《Information Week》報導了一項Evalueserve的研究報告,指Google已在行動電話領域上提交了多份專利申請[58][59]

2007年11月5日,在Google的領導下,成立了開放手機聯盟Open Handset Alliance),那是包括Google在內的科技公司聯盟,其他成員包括HTC摩托羅拉Samsung等設備製造商,無線運營商則包括SprintT-Mobile,晶片製造商高通德州儀器,目標是為行動裝置開發「首個真正開放和全面的行動設備平台」[60][61][62]。隨後,其他廠商加入,包括BroadcomIntelLGMarvell等。聯盟開放手持裝置聯盟的建立目的是為了創建一個更加開放自由的行動電話環境。而在開放手持裝置聯盟創建的同一日,聯盟對外展示了他們的第一個產品:一部搭載了以Linux 2.6為核心基礎的Android作業系統的智慧型手機。該年內,開放手機聯盟正面對著另外兩個其他的開源碼的競爭對手,包括Symbian基金會LiMo基金會,LiMo基金會開發了一個基於Linux的行動作業系統,就如Google。

2008年12月9日,新一批成員加入開放手持裝置聯盟,包括ARM華為索尼等公司[63][64]

自2008年以來,Android已有許多更新以逐步改進其作業系統,並增加了新功能及修復了以前版本的錯誤。每個主要版本的名稱都以甜品或含糖的小食並按字母順序來命名,最初的幾個Android版本按此順序稱為「紙杯蛋糕(Cupcake)」、「甜甜圈(Donut)」、「閃電泡芙(Eclair)」和「霜凍優格(Froyo)」。

為了跟iPhone 3G能互相媲美,諾基亞和黑莓手機於2008年均宣布有關觸控螢幕的智能手機的資訊,Android的焦點最終也轉向觸控螢幕。第一款運行Android系統的商用智能手機是HTC Dream,亦名為T-Mobile G1,該智能手機於2008年9月23日發布[65][66]

同時,一個負責持續發展Android作業系統的開源代碼專案成立了AOSP(Android Open Source Project)。[67]除了開放手持裝置聯盟之外,Android還擁有全球各地開發人員組成的開源社群來專門負責開發Android應用程式和第三方Android作業系統來延長和擴展Android的功能和性能。[68][69]

隨著2013年Android發布新版本奇巧巧克力,Google解釋「由於這些設備使我們的生活如此甜蜜,每個Android版本都以甜品來命名」,雖然Google的發言人在接受CNN訪談時指:「這有點像內部團隊的事情,我們更願意做多一點—我該怎樣說呢—我會說在這個問題上有點難以捉摸的[70]。」

2010年,Google推出了Nexus系列的裝置,他們與不同的合作設備製造商一起生產新設備並推出新的Android版本。該系列被形容為「透過引入新軟件迭代和硬件標準使其在Android的歷史中發揮了關鍵作用,並成為不會因“歷代的更新”導致軟件膨脹而聞名[71]」。在2013年5月的Google開發者大會上,他們宣佈了Samsung Galaxy S4的特別版,特別版在於它搭載了原生Android,並承諾能快速接收新的系統更新[72]。裝置將成為「Google Play Edition」的開始,其他設備也會隨之而來,包括HTC One (M7)以及Moto G[73]。2015年,Google Play Edition版步入了历史。

從2008至2013年,雨果·巴拉擔任Android產品發言人,參與Google年度開發人員會議的Google開發者大會。他於2013年8月離開Google,並隨即加入中國手機製造商小米[74][75]。在他離任不足六個月前,Google時任CEO賴利·佩吉在一篇博客文章中宣佈,鲁賓從Android部門轉移到Google的新項目,而桑德爾·皮蔡將會成為Android的新主管[76][77]。皮蔡本人最終轉換了職位,隨著Google重組大型聯合的Alphabet集團[78][79],他在2015年8月成為了Google的新任CEO,讓浩史·洛克海默英语Hiroshi Lockheimer成為Android的新任負責人[80][81]

2014年6月,Google發布了Android One,那是一組「硬件參考模型」,這將容許(設備製造商)以低成本輕鬆打造高品質手機[82][83][84]。同年9月,Google宣布推出首款在印度發布的Android One手機[85][86]。然而科技網站《Recode英语Recode》在2015年6月報導該項目「令人失望」,引用指「消費者和製造夥伴不情願」及「搜索公司不奏效因從未破解硬件」[87]。Google計劃於2015年8月重推Android One[88],一周之後,該公司宣布非洲成為該計劃的下一個地點[89][90]。2017年1月,《資訊(The Information)》報導稱Google正在將其低成本的Android One計劃擴展至美國,儘管《邊緣(The Verge)》指該公司可能不會生產實體的設備[91][92]

2016年10月,Google發布智能手機Pixel,作為Google推出的第一款手機[93][94],並且在更廣泛推出之前,專門展示某些軟件功能,例如Google助理[95][96]。Pixel手機取代了Nexus系列。

2019年8月23日,Google宣布從Android Q開始不再以甜品命名,且直接稱Android Q為Android 10[97]

2021年9月27日起,Android2.3.7及以下的Android版本無法登入Gmail、YouTube、Google地圖等相關App,也無法創立或登入Google帳號[98]

系統特點

界面

Android的預設用戶界面主要基於直接操作,透過觸控鬆散地對應現實動作以作出輸入,例如滑動、點擊、捏動和反向擠壓,隨著虛擬鍵盤,以操控屏幕上的物件[99]遊戲控制器及物理鍵盤都能透過藍牙USB得到支援[100][101]。在回應用家的輸入方面,設計旨在提供立即流暢的觸摸界面,經常使用設備的振動功能向用戶提供觸覺反饋。內部硬件,例如是加速規陀螺儀距離傳感器都能被某些應用程式來回應用戶的操作,例如根據裝置的方向來把屏幕由縱向調整為橫向[102],或容許用戶透過旋轉裝置,在賽車遊戲中駕駛車輛[103]

當Android裝置啟動就會進入主畫面,那是裝置的主要導航及信息「樞紐」,類似於個人電腦的桌面。Android的主畫面通常由應用程序圖標及小工具(widget)組成,應用程序圖標啟動相關的應用程序,而小工具則會實時顯示,並會自動更新內容,例如天氣預報、用戶的電子郵件,或是直接在主畫面上看新聞摘要[104]。主畫面可以由若干頁面組成,用戶可以在這些頁面之間來回滑動[105]Google Play上提供的第三方應用程式,而其他的應用程式商店可以廣泛使用重新定義的主畫面主題包[106],甚至模仿其他作業系統的外觀,例如Windows Phone[107]。大多數製造商會定制他們Android設備的外觀和功能,以從競爭對手中脫穎而出[108]

屏幕頂部是狀態欄,顯示有關裝置及其連接的資訊。用戶可把狀態欄「拉下」,以顯示應用程式顯示的重要信息,或屏幕更新的通知[105]。通知是「當用戶的應用程序在非使用時所提供簡短、及時和相關的訊息[109]。」當點擊了,用戶會被引導到該app內與該通知相關的屏幕。從Android Jelly Bean開始,可擴展通知「允許用戶透過點擊通知上的圖標,以便它擴展和顯示從通知中得知的更多信息以及有可能的應用操作[110]。」

「所有應用程序」的屏幕將會所有已安裝的應用程式,用戶可以將應用程序從列表拖曳到主畫面上。「最近」的屏幕讓用戶在最近使用過的應用程序之間進行切換[105]

Android 软件栈
舊版本Android的儲存空間分成「程式」和「數據」,如果下載大型遊戲,便很容易用盡
新版本Android(此圖為9.0)的儲存空間分成10個類別,讓用戶可以更明確知道儲存空間使用狀態。圖例為HTC U11

應用程式

應用程式(簡稱apps)是擴展裝置功能的軟件,都是利用Android軟件開發工具包(SDK)編寫的[111],通常是Java編程語言[112]。Java可以與C語言C++[113]結合使用,並且可以選擇非默認的執行時函式庫共用,以允許獲得更好的C++支援[114]。雖然Google的Go是有一組有限的應用程式介面(API),然而它也支持編程語言[115]。2017年5月,Google宣布支援Kotlin程式語言[116][117]

SDK包含一套全面的開發工具[118],包括除錯器函數庫、基於虛擬機器鏡像仿真器、文檔,示例代碼和教程。最初,Google支援的整合開發環境(IDE)是使用Android開發工具(ADT)插件的Eclipse;在2014年12月,Google基於IntelliJ IDEA而發布Android Studio,作為Android應用程序開發的主要IDE。其他可用的開發工具,包括應用程序的本地開發套件英语Android software development#Android NDK(NDK),或是用於C或C++中的擴展,MIT應用開發者,那是讓新手程序員的視覺環境,以及各種跨平台流動應用程序框架英语Mobile development framework。2014年1月,Google推出了一個基於Apache Cordova的框架,把Google ChromeHTML5網絡應用程式移植到Android,包裝於本機應用程序的外殼中[119]

Android擁有越來越多第三方應用程序的選擇,用戶可以透過下載和安裝應用程序的APK(Android應用程序包),或利用應用程式商店來下載,允許用戶在那裡進行安裝、更新和移除Google Play是安裝在Android裝置上的主要應用程式商店,那些程式都符合Google的兼容性要求,並獲得Google行動服務軟件許可[5][120]。Google Play商店允許用戶瀏覽、下載及更新Google和第三方開發者發布的應用程序。

由於Android系統的開放性質,使它吸引許多第三方應用程式市場的競爭,及由於違反了Google Play商店的政策或是其他原因而不允許發布的應用程式替代品,第三方應用程式商店的例子包括是亞馬遜應用商店GetJar英语GetJar及SlideMe。另一個替代市場F-Droid,旨在提供僅在自由英语Free software license開源許可下分發的應用程式[5][121][122][123]

内存管理

由於Android設備通常採用電池供電,因此Android旨在管理流程以將耗電降至最低。當應用程式未使用時,系統會暫停其操作,雖然可以在關閉期間立即使用,但它並不會使用電池電源或CPU資源[124][125]。當内存不足時,系統將會自動隱藏地開始關閉長時間內處於非活躍狀態下的進程[126][127]。Lifehacker在2011年的報告指出,第三方任務殺手應用程序是弊大於利[128]

硬件支援

Android的主要硬體平台為ARM架構(包括ARMv7及ARMv8-A ),在更高階版本的Android中也正式支援x86x86-64的架構[129][130][131][132]。非官方的Android-x86的項目在得到官方正式支援之前為x86架構提供支援[133][134]。ARMv5TE和MIPS32/64架構於過去得到支援,但在後來的Android版本中遭到刪除[135]。自2012年以來,隨著擁有英特爾處理器的Android裝置開始出現,包括手機[136]及平板電腦。在得到對64位元平台的支援同時,Android最初是在64位元x86上運行,後來就在ARM64。自從Android 5.0 “Lollipop”以來,除32位元變體(32-bit variants)外,還支持所有64位元變體(64-bit variants)的平台。

運作Android 7.1的裝置對RAM最低要求的範圍從最佳硬體的2GB降到最常見屏幕的1GB;最低規格的32位元智慧型手機最小需要512MB。Android 4.4的建議是至少需要512MB的RAM,而對於「低RAM」設備,340MB是必需的最低容量,不包括專用內存的各種硬體組件,例如基帶處理器[137]。Android 4.4 需要32位元的ARMv7, MIPSx86的架構處理器(後兩者是非官方連接埠)[133][134],以及與OpenGL ES 2.0兼容的圖形處理器(GPU)一同使用[138]。Android支援OpenGL ES 1.1、2.0、3.0、3.1及截至現時為止最新的主要版本3.2及自Android 7.0的Vulkan (API)(和版本1.1適用於某些裝置[139])。某些應用程式可能會明確要求使用某個版本的OpenGL ES,並且運行此類應用程序需要合適的GPU硬體[138]

Android裝置包括了許多可選的硬體部件,包括靜止或視頻錄像機、GPS方向傳感器英语Orientation sensing、專用遊戲控制器、加速規陀螺儀、氣壓計、磁強計接近傳感器壓力傳感器溫度計觸控螢幕。某些硬體組件不是必需的,但在某些類別的設備(如智能手機)中成為了標準組件,若存在其他要求,則適用。最初需要一些其他硬體,但那些要求都經已放寬或完全取消。例如,由於Android最初是作為手機作業系統而開發的,因此必須麥克風等那些硬體,而隨著時間的推移,這些手機功能變成可選的項目[140]。Android曾經需要一台自動對焦的相機,這款相機已經放寬到成為固定焦距相機[140],若是現存的話,當Android開始在數位視訊轉換盒(俗稱機頂盒)上使用時,相機就能完全被丟棄了。

Android除了在智慧型手機和平板電腦上運作外,還可以在一些附有鍵盤和滑鼠的普通PC硬體上運作[141][142][143][144]。除了可在商用硬體上使用外,Android也有類似於PC硬體友好的版本,可以從Android-x86的項目中免費提供,包括個人訂制的Android 4.4版本[145]。使用作為Android SDK英语Android SDK一部分的仿真器,或第三方的仿真器,Android也可以在x86架構上非本機地執行[146][147]。中國的一些公司基於Android,正在構建PC與行動裝置的作業系統,是「Google Android與Microsoft Windows之間的直接競爭[148]。」中國工程學院指出,隨著中國禁止在政府電腦上使用Windows 8,數十家公司正在定制Android系統[149][150][151]

軟體開發

Android開源項目的堆棧

Android是由Google開發的,直至準備發布前最新的修改及更新,在這一點上原始碼可供Android開源項目(AOSP)使用[152],這是一個由Google領導的開源計劃[153]。AOSP代碼可於無需的修改選定設備中找到,主要是Google NexusGoogle Pixel系列的裝置[154]。反過來說,那些開源碼是由代工生產定制和調整以在他們的硬件上執行[155][156]。此外,Android的源代碼並不包含某些硬件組件所需專有的驅動程式[157],因此大多數的Android裝置(包括Google自己的裝置)最終都會附帶著自由及開放源碼軟件專有軟件的組合,伴隨著用於進入Google服務所需的軟件,都會落入後者的一類。

更新時間表

Android版本歷史
名稱版本號發行日期API等級安全性更新狀態
Android 1.0舊版本,不再支援: 1.02008年9月23日1不支援
Android 1.1舊版本,不再支援: 1.12009年2月9日2不支援
Android Cupcake舊版本,不再支援: 1.52009年4月27日3不支援
Android Donut[158]舊版本,不再支援: 1.62009年9月15日4不支援
Android Eclair[159]舊版本,不再支援: 2.0 – 2.12009年10月26日5 – 7不支援
Android Froyo[160]舊版本,不再支援: 2.2 – 2.2.32010年5月20日8不支援
Android Gingerbread[161]舊版本,不再支援: 2.3 – 2.3.72010年12月6日9 – 10不支援
Android Honeycomb[162]舊版本,不再支援: 3.0 – 3.2.62011年2月22日11 – 13不支援
Android Ice Cream Sandwich[163]舊版本,不再支援: 4.0 – 4.0.42011年10月18日14 – 15不支援
Android Jelly Bean[164]舊版本,不再支援: 4.1 – 4.3.12012年7月9日16 – 18不支援
Android KitKat[165]舊版本,不再支援: 4.4 – 4.4.42013年10月31日19 – 20不支援[166]
Android Lollipop[167]舊版本,不再支援: 5.0 – 5.1.12014年11月12日21 – 22不支援[168]
Android Marshmallow[169]舊版本,不再支援: 6.0 – 6.0.12015年10月5日23不支援[170]
Android Nougat[171]舊版本,不再支援: 7.0 – 7.1.22016年8月22日24 – 25不支援[172]
Android Oreo[173]舊版本,不再支援: 8.0 – 8.12017年8月21日26 – 27不支援[174]
Android Pie[175]舊版本,不再支援: 92018年8月6日28不支援[176]
Android 10[177]舊版本,不再支援: 102019年9月3日29不支援
Android 11[178] 舊版本,仍被支援: 112020年9月8日30支援
Android 12[179] 舊版本,仍被支援: 12 – 12L2021年10月4日31 – 32支援
Android 13[180] 舊版本,仍被支援: 132022年8月15日33支援
Android 14[181] 當前版本: 142023年10月4日34支援
Android 15[182] 最新预览版本: 152024年2月16日V DP1支援
格式:
舊版本
舊版本,仍被支援
当前版本
最新的预览版
未来版本

Google每年都會宣布對Android進行重大的增量升級[183]。程式更新可以透過空中編程以無線傳輸於裝置上安裝[184]。最新的主要版本是在2023年10月發布的Android 14

Android與其主要的競爭對手蘋果公司iOS相比,Android的更新通常會明顯的延遲以讓各種設備安裝。除了Google的Nexus和Pixel品牌的裝置外,更新通常會在新版本發布的幾個月後到達,或者根本沒有[185]。這部分是由於Android裝置中硬件各不相同[186],每次升級必須專門定制,那是個耗費時間和資源的過程[187]。製造商經常會優先考慮他們最新的設備並遺下舊設備[188]。在收到製造商的更新後,無線運營商可以讓裝置額外延遲推出,以便於升級發送給用戶之前,商戶能透過進一步根據自己品牌的需求而定制及在他們的網絡上進行廣泛的測試[188][189]。由於一個製造合作夥伴沒有為驅動程式提供必要的更新,故此會有一些情況下無法進行升級[190]

隨著新版本的作業系統,Android設備中硬件的廣泛變化會導致軟件升級有嚴重的延誤,而修補程式通常需時幾個月才能到達消費者手中,有時甚至根本沒有。製造商和運營商缺乏售後支援服務受到消費者群及科技媒體的廣泛批評[191][192][193]。一些評論員指出了一點,指這個行業有一個金融刺激而不會為他們的裝置升級,由於缺乏為現有裝置更新,故推動購買新產品[194],這種態度被形容為「侮辱」[193]。《衛報》抱怨指更新的分發方法很複雜只是因為製造商和運營商都是這樣設計[193]。2011年,Google與眾多業內人士合作宣布推出「Android更新聯盟」,承諾在每台裝置發布後18個月內提供及時更新,然而,自宣布以來,關於那個聯盟並沒有另外一個官方的說法[188][195]

2012年,Google開始將作業系統的某些方面(特別是其核心應用程式方面)脫鉤,這樣他們就可以通過Google Play商店獨立地為作業系統作更新。其中一個組件—Google Play服務,是個閉源的、系統級的程序,可為Google服務提供應用程式介面,為執行Android Froyo或更高版本的裝置上自動安裝更新。通過這些特性,Google可以透過Play服務添加新的系統功能及更新應用程式而毋需將升級分發到作業系統本身[196],因此,Android Jelly Bean包含相對較少面向用戶的變化,對平台改進及細微變化更為側重[197]

2016年5月,彭博報導稱Google正在努力讓Android保持最新狀態,包括加快安全更新率、推出技術的解決方案、減少對手機測試的要求,並對電話製造商進行排名,試圖利用「羞辱」他們來讓行為變得更好。正如《彭博》所說:「隨著智能手機變得越來越強大,複雜和可攻擊,讓最新的軟件能與硬件密切合作變得越來越重要。」Android的領導人浩史·洛克海默英语Hiroshi Lockheimer承認指「這不是一個理想的情況」,他進一步評論指缺乏更新是「Android上安全性最薄弱的環節」。無線運營商在報告中被描述指那是「最具挑戰性的討論」,因為運營商的網絡測試審批時間較慢,儘管有一些運營商包括威訊無線Sprint,已經縮短了他們各自的審批時間。HTC的時任執行官賈森·麥肯齊(Jason Mackenzie)於2015年稱每月的安全性更新是「不切實際」,而Google試圖說服運營商從完整的測試程序中排除安全補丁。為了進一步說服,Google分享了與其Android合作夥伴更新設備的頂級手機製造商的一份清單,並正在考慮將名單向公眾發布。手機製造商Nextbit的聯合創始人及前Android開發人員Mike Chan說,「解決這個問題的最佳方法是對作業系統進行大規模的重組架構」或Google可以投資培訓製造商和運營商「成為優秀的Android人民[198][199][200]」。

2017年5月,隨著Android Oreo發布,Google推出了Project Treble,旨在使製造商能夠更輕鬆,更快捷,及更低成本地將裝置更新到Android的最新版本。Project Treble通過新的「供應商界面」將供應商實施與Android OS框架分開(由硬體製造商所寫供設備專用的較低級別軟件)。在Android 7.0及更早版本中,並不存在正式的供應商界面,因此設備製造商必須更新大部分Android代碼,以將較新版本的作業系統移至設備中。借助Project Treble,新的穩定供應商界面可以進入Android特定部分的硬件,使設備製造商能夠簡單地通過更新Android作業系統框架來為裝置提供新的Android版本,而「毋須矽製造商的任何額外工作[201]。」

2017年9月,Google的Project Treble團隊透露,作為改善Android設備安全生命週期努力的一部分,Google已經設法讓Linux基金會同意延長Linux長期支援(LTS)的內核分支的生命週期至少兩年。从 Linux 4.4 版本内核开始,未来版本的 LTS 内核将至少拥有 6 年的生命支持周期。[202]

Linux核心

Android的內核是根據Linux核心的長期支援的分支,具有典型的Linux排程和功能[203]。截至2018年,Android的目標是Linux內核的4.4、4.9或是4.14版本[204]。實際的內核取決於單個設備[205]

Linux內核的Android的變種具進一步改進了由Google實施在典型的Linux內核開發週期之外實現的架構變化,比如包含類似組件的裝置樹(device trees)、ashmem、ION,以及不同的內存不足英语Out of memory(OOM)的處理[206][207]。除此之外,Google為了能讓Linux在行動裝置上良好的運行,對其進行了修改和擴充。Android去除了Linux中的本地X Window System,也不支持標準的GNU庫,這使得Linux平台上的應用程式移植到Android平台上變得困難[208]。Google也有某些功能貢獻回到Linux內核,特別是一種稱為「喚醒鎖(wakelocks)」的電源管理功能[209],它最初被主線內核開發人員拒絕,部分原因是因為他們認為Google並沒有表現出維護他們自己代碼的任何意圖[210][211]。2008年,Patrick Brady於Google I/O上演說題為「Anatomy & Physiology of an Android」,並提出Android HAL的架構圖。HAL以*.so副檔名的形式存在,可以把Android框架跟Linux內核隔開,這種中介層的方式使得Android能在行動裝置上獲得更高的執行效率。這種獨特的系統結構受到Linux內核開發者葛雷格·克羅哈曼及其他核心維護者稱賞。Google還在Android的核心中正式加入了自己開發製作的一個名為喚醒鎖(wakelocks)的功能,該功能用於管理流動裝置的電池性能,但是該功能並沒有被加入到Linux核心的主線開放和維護中,因為Linux核心維護者認為Google沒有向他們展示這個功能的意圖和代碼。Google於2010年4月宣布他們將會聘請兩名員工跟Linux內核社團合作[212],但目前Linux內核對於穩定分支維護者的葛雷格·克羅哈曼,他於2010年12月說他擔心Google不再試圖讓他們的代碼更改包含在主流Linux中[211]。Google的工程師帕特里克·布雷迪(Patrick Brady)曾在該公司的開發者大會中表示過「Android不是Linux[213]」,而他在周刊《Computerworld》補充指「讓我替你簡化一下,要是沒有Linux,這裡就沒有Android[214]」。《Ars Technica》寫道:「儘管Android是建立在Linux內核之上的,但該平台與傳統的Linux堆棧桌面幾乎沒有共同之處[213]。」

2010年2月3日,由於Google在Android核心開發方面和Linux社群方面開發的不同步,Linux內核開發者葛雷格·克羅哈曼把Android的驅動程序從Linux內核「狀態樹」(staging tree)上除去。[215]2010年4月,Google宣布將派遣2名開發人員加入Linux核心社群,以便重返Linux核心。2010年9月,Linux核心開發者Rafael J. Wysocki添加了一個修復程序,使得Android的“wakelocks”可以輕鬆地與主線Linux核心合併。2011年8月,Linux內核最早作者的林納斯·托瓦茲說:「Android和Linux最終都會重新回到一個共同的內核,但它可能不會持續4-5年[216]」。2011年12月,葛雷格·克羅哈曼(Greg Kroah-Hartman)宣布啟動Android的主流項目,其目的是要將一些Android驅動程式、修補程式及功能重新放進Linux內核中,從Linux 3.3開始[217]。經過從前多次的嘗試合併後,Linux在3.5內核中,包括自動休眠和喚醒鎖功能功能。其界面是相同的,但是上游的Linux實現了容許兩種不同的中止模式:記憶體(Android使用的傳統中止模式)及磁碟(已知桌面上的冬眠)[218]。Google維護著一個公共代碼存儲庫,包含著他們對Android的Rebasing到最新穩定的Linux版本的實驗工作[219][220]

Android裝置的快閃記憶體被分成幾個分區,例如/system用於作業系統本身,而/data是用於用戶數據和應用程式的安裝[221]。跟Linux桌面發行版相比,Android設備的擁有人都沒有給予超級用戶的進入作業系統的權限,以及例如/ system唯讀記憶體的敏感分區。然而,檔案系統階層標準是可以透過利用Android中的安全漏洞來獲取,那是開源社區經常使用它來增強其設備的功能[222],惡意的一方還可以透過安裝電腦病毒惡意軟件來惡意獲取系統資料[223]

根據Linux基金會的說法,Android是個Linux發行版[224],該基金會由Google的開源部門主管克里斯·迪博納英语Chris DiBona[225]及幾位記者組成[226][227],其他人例如Google的工程師帕特里克·布拉迪(Patrick Brady)等,布拉迪表示在傳統類Unix系統的Linux發行意義上,Android並不是Linux;Android不包括GNU C函數庫(它利用 Bionic作為替代C數據庫),以及Linux發行版中常見的一些其他組件[228]

隨著2017年Android Oreo的推出,Google基於安全考慮,開始要求新附帶系統單晶片的設備具有Linux內核版本4.4或更高版本,現有的裝置升級到Android Oreo,以及與舊的系統單晶片一起推出的新產品,均不受此規則所限[229][230]

軟件堆棧

Android的系统架構圖

在Linux內核之上,有一些由C所寫的中介軟體函數庫應用程式介面,以及運行包含Java兼容庫的應用框架上應用程式。Linux內核的開發則繼續獨立於Android的其他源代碼項目。

截至5.0版本,Android利用Dalvik虛擬機器作為程式虛擬機器,它與實時的跟蹤編譯英语Tracing just-in-time compilation(JIT)來執行Dalvik「DEX-代碼」(Dalvik的可執行程式),這通常是由Java位元組碼一同翻譯而來。繼基於跟踪的JIT的原則,除了解讀大多數應用程序代碼外,Dalvik執行編譯及每當應用程序啟動時,選擇本機執行的頻繁執行代碼段(痕跡)[231][232][233]。Android 4.4引入Android Runtime(ART)作為新的運作環境,在安裝應用程式時,它會使用提前編譯英语Ahead-of-time compilation(AOT)來把應用程序字節碼完全編譯為機器語言[234]。在Android 4.4中,ART是一項實驗性功能,默認情況下不啟用;它成為Android 5.0的下一個主要版本中唯一的運作選項[235]。2015年12月,Google宣布Android的下一個版本將會切換到基於OpenJDK項目的Java實行方式[236]

Android的C標準函式庫Bionic都是由Google專門為Android而開發的軟件,作為BSD標準C程式庫代碼的推導。Bionic本身已跟特定於Linux內核的幾個主要特點而設計。使用Bionic而不是GNU C函數庫(glibc)或uClibc的主要好處是:它運行時間的足跡較小,以及對低頻CPU進行優化。與此同時,Bionic根據BSD許可條款而獲得許可,當中Google找到更適合Android的整體許可模式[233]

針對不同的許可模式,Google於2012年底將Android中的藍牙堆棧從GPL許可的BlueZ英语Bluetooth stack#BlueZ轉移到Apache許可的BlueDroid[237]

Android默認情況下並沒有本機X Window系統,也不支援整套標準GNU庫。這使現有Linux應用程式或程式庫都難以移植到Android[228],直至Android的Android原生开发套件英语Android NDK的r5版本完全以CC++編寫的應用程序以獲得支援[238] 由C所編寫的程式庫也可以透過注入一個小墊片及使用Java本地介面(JNI)以在應用程式中使用[239]

自Android Marshmallow發布以來,一系列指令實用程序的「玩具盒英语Toybox」取代了之前Android版本中類似「Busybox」系列(當Android於默認情況下不提供命令列介面時,它主要供應予應用程序使用[240]

Android也有另一個作業系統,名為「Trusty作業系統」,作為「Trusty」當中的一部分,軟件組件在行動裝置中支援著一個可信執行環境(TEE)。「Trusty和Trusty API是可調整的......」Trusty OS的應用程式可以由C或C++所編寫(C++的支援是有限的),他們可以進入一個小型的C程式庫......所有Trusty應用程式都是單線程的;多線程的用戶空間目前並不支援......第三方應用程式的開發並非支援當前版本,而作業系統和處理器上使用軟件,為「受保護的內容執行DRM框架」。TEE還有許多其他用途,例如行動支付、銀行業的保安、全磁碟加密、多重身份驗證,裝置重設保護、重播保護的持久性存儲、無線顯示受保護的內容(強制轉換)、安全的PIN和指紋處理,甚至是惡意軟件檢測[241]

開源社區

Android的原始碼是由Google在開源許可下發布,其開放的性質鼓勵著一個龐大的開發者社區及發燒友利用開源碼作為社區驅動項目的基礎,它可為舊設備提供更新、為高級用戶增加新功能,或最初隨附其他作業系統的裝置引入Android系統[242]。這些社區開發的版本通常比較透過官方製造商/運營商的渠道更快為裝置帶來新功能和更新的,亦具有相當質量的水平[243];為不能再接收官方更新的舊裝置提供持續性支援;或把Android帶到正式發布使用其他作業系統的裝置上,例如TouchPad。社區發布經常出現Root前並包含由原始供應商並未提供的修改,例如讓裝置內處理器超頻或是調高/低電壓的能力[244]CyanogenMod是社區中使用最廣泛的韌體[245],惟現已停產並由LineageOS繼任[246]

從歷史上看,裝置製造商及行動運營商通常都不支持第三方韌體的開發。製造商對使用非官方軟件的裝置功能不正常,以及由此產生的支援費用表示擔憂[247]。此外,如CyanogenMod般經修改的韌體有時也會提供例如Tethering等功能,否則運營商將收取額外費用。因此,許多裝置中常見的技術障礙,包括鎖定啟動程式及限制訪問root的權限都是常見於許多設備中。然而,隨著社區開發的軟件越來越受歡迎,美國國會圖書館館長在發表聲明之後,允許行動裝置進行越獄[248],製造商和運營商經已對第三方開發軟件的立場軟化,包括HTC[247]摩托羅拉[249]三星[250][251]索尼[252],他們提供支持和鼓勵發展。因此,隨著時間的推移,由於越來越多的裝置隨附著已解鎖或可解鎖的啟動程式,繞過硬件限制的規避而安裝非官方韌體的需要降低了,這類似於Nexus系列手機,雖然他們通常要求用戶放棄為裝置進行保修[247]。然而,儘管製造商已經接受,但美國的一些運營商仍然要求手機被鎖定,此讓開發人員和客戶感到沮喪[253]

安全和隱私

公共機構的監督範圍

2013年9月,美國及英國的情報機構—美國國家安全局(NSA)及英國政府通訊總部(GCHQ)分別披露作為更廣泛大規模監控披露(2013年至今)英语Global surveillance disclosures (2013–present)的一部分,他們可以進入iPhone、黑莓手機及Android裝置中,存取用戶的數據。據報導,他們幾乎能夠閱讀所有智能手機上的資訊,包括短訊、位置、電郵及備忘錄[254]。2014年1月,進一步的報告顯示情報機構擁有攔截個人資訊傳輸的能力,他們透過社交網絡及其他流行的應用程式如《憤怒鳥》,以用於廣告和其他商業原因而收集用戶的個人資訊。根據《衛報》的報導,GCHQ有不同應用程式和廣告網絡的Wiki風格指南,以及可以從每個數據中抽取不同的資訊[255]。在該周後期,芬蘭的憤怒鳥開發者Rovio娛樂宣布,鑑於這些啟示,他們正重新考慮與其廣告平台的關係,並呼籲更廣泛的同業也應這樣做[256]

這些文件顯示情報機構進一步努力攔截從Android和其他智能手機中Google地圖的搜索及查詢,以收集大量的位置信息[255]。儘管《衛報》指出「技術部門是如何收集和使用信息,特別是對於美國以外的人,他們所享有的隱私保護比美國人少,這些最新的披露也可能會引起公眾越來越多的關注」,然而NSA及GCHQ堅持認為他們的活動都符合所有相關的國內和國際法律[255]

維基解密公佈了2013-2016年代號為Vault 7英语Vault 7的洩露文件,當中詳細說明了中央情報局(CIA)進行電子監視和網絡戰的能力,包括損害大多數智能手機的作業系統(包括Android)的能力[257][258]

常見的安全威脅

由於Android作業系統的自由和普及性,一些惡意程式和電腦病毒也隨之出現。2010年8月,卡巴斯基病毒實驗室報告指發現到Android系統上首個木馬程式,並將其命名為「Trojan-SMS.AndroidOS.FakePlayer.a[259]」,這是一個通過短訊方式感染智慧型手機的木馬程式,並且已經感染了一定數量的Android設備。除了透過短訊的感染方式,這些Android木馬程式還可以偽裝成一些主流的應用程式,並且還可以隱藏於一些正規的應用程式之中[260][261]

來自防毒公司趨勢科技的研究,他們列出最常見Android韌體的類型為踐踏優質服務,在未經用戶同意或甚至是用戶不知情下從受感染的手機發送短訊至具附加費的電話號碼英语Premium-rate telephone number。其他惡意軟件於裝置上顯示不需要或侵入性廣告,或將用戶的個人信息發送至未經授權的第三方[262]。據報導,Android上的安全威脅正在呈幾何級數式地增長;然而,Google的工程師辯論著安保公司出於商業原因而誇大Android系統上的惡意軟件和病毒威脅[263][264],並指責安保行業玩弄恐懼而向用戶推銷病毒防護軟件[263]。Google堅持危險的惡意軟件其實是非常罕見的[264],而芬安全曾進行的一項調查顯示,只有0.5%的Android惡意軟件是來自Google Play商店[265]

儘管Google通過定期的檢查撤除這些存在於Google Play商店上的惡意程式和病毒,但是這並不能完全阻止其他病毒通過第三方網路的方式產生並且傳播[266]。2015年8月,Google宣布Google Nexus系列中的裝置將會開始每月收到安全性修補程式。Google還寫道:「Nexus裝置將會在至少兩年內繼續獲得重大更新,而安全性修補程式從裝置透過Google Store購買起的18個月內,或從初始可用性起計算三年以上的安全補丁[267][268][269]。」接下來的10月,劍橋大學的研究人員得出結論,由於缺乏更新和支援,87.7%使用中的Android手機有已知但未修補安全漏洞[270][271][272]。2015年8月,《Ars Technica》的榮恩·阿馬德奧(Ron Amadeo)也寫道:「Android原先設計最重要的是被廣泛採用。Google從頭開始,由0%的市場佔有率,所以它很高興放棄控制權並讓每個人於採納的桌上佔一席位......現在,儘管Android擁有全球智能手機市場約75-80%的市場佔有率—使它不僅是世上最流行的行動作業系統,亦可說是現時最流行的作業系統。因此,安全性已成為了一個大問題。當Android生態系統沒有設備要更新,指令鏈的設計回歸,但Android仍然沿用軟件更新,它只是起不了作用[273]。」隨著Google每月更新時間表的消息出來後,包括三星和LG在內的一些製造商承諾每月發布安全性更新[274]。但是正如傑瑞·希爾登布蘭德(Jerry Hildenbrand)於2016年2月的《Android中央》所指,「相反,我們在幾種極少數機型的特定版本中得到了一些更新,還有一堆破碎了的承諾」[275]

2017年3月,在Google的安保博客的帖子上,Android的安保主管阿德里安·路德維希(Adrian Ludwig)及梅爾·米勒(Mel Miller)寫道:「在2016年,來自200多家製造商,有超過735,000,000個裝置獲得平台的安全性更新」,並且「我們的運營商及硬件合作夥伴幫忙為這些更新擴展了部署,在2016年最後一個季度為全球排名首50位的超過一半裝置發布更新」。他們還寫道:「截至2016年底,大約有一半使用中的裝置在過去的一年並沒有接收到平台的安全性更新」,並指他們的工作將繼續專注於精簡安全性更新程序,以便製造商進行部署[276]。此外,對於《TechCrunch》的評論中,路德維希表示,安全更新的等待時間已從「6至9星期縮減至數天」,截至2016年底,在北美約有78%的旗艦裝置都獲得最新的安全性更新[277]

修補核心作業系統中發現的錯誤通常都不會送達到老舊及低價裝置的用戶手上[278][279]。然而,Android的開源特性容許安保承包商採用現有設備,並把它們改編用於高度安全性的用途上,例如:三星跟通用動力合作,透過他們的開放核心實驗室的收購,以在「Knox」的項目上重建「果凍豆」(Android 4.4)[280][281]

Android的智能手機能夠報告Wi-Fi接入點的位置(在電話用戶四處行動時遇到),構建包含數億個此類進入點物理位置的數據庫。這些數據庫構成了用於智能手機中電子地圖的定位,讓他們使用應用程式如FoursquareGoogle定位Facebook定位,並能提供基於該位置的廣告[282]。第三方的監控軟件,例如TaintDroid[283],那是由學術研究資助的項目,在某些情況下,可以檢測到用戶的個人資訊何時從應用程式發送至遠端伺服器[284]

目前Android作業系統上已經擁有不同公司的殺毒軟件來防止裝置中毒,例如AvastF-SecureKasperskyTrend MicroSymantec金山毒霸等防護軟體也已經發布了Android版本。

某些病毒,目前經過Cross-Compile的測試,證實它們在Linux上無法正常運作。

2018年11月,知名Android軟體Magisk的開發者topjohnwu在XDA上發帖稱,現在很多Android手機存在系統漏洞,該漏洞可使第三方應用程序在不被用戶授權的情況下監視其它程序的運行,其中可能涉及到個人隱私的泄露問題,值得關注。[285]

技術性保安功能

權限用於控制一部分應用程序對系統功能的訪問

Android系統具有沙盒機制。沙盒於系統中是一個分離的區域,該區域無法獲取系統的其他資源,除非在安裝應用程式時,用戶明確地授予其獲取資源的權限。然而,這一限制對於出廠時預先安裝的應用程式則可能無法實現。例如預先安裝的相機應用程式,在沒有完全禁用相機的情況下,無法關閉麥克風的權限。這個情況在Android的版本7和8當中也有效[286]。所有的應用程式都可先被簡單地解壓縮到沙盒中進行檢查,並且將應用程序所需的權限提交給系統,再將其所需權限以列表的形式展現出來供用戶查看。例如一個第三方的瀏覽器需要「連接網絡」的權限,或者一些軟體需要撥打電話,或發送短訊等。用戶可以根據所需權限來考慮自己是否需要安裝,應用程式只能在用戶同意之後才能進行安裝[287]

2012年1月,美國國家安全局發布了SE Android(原本名為Security Enhanced Android,後來改名為SE for Android或Security Enhancements for Android[288])的開放源碼專案及程式碼,使Android系統支援強制存取控制(Mandatory Access Control)以增加系統安全性[289][290]

自2012年2月起,Google使用其惡意軟體掃描器Google Bouncer監察和掃描在Google Play商店上的應用程式[291][292]。2012年11月,Google於Android Jelly Bean推出「驗證應用程式」的功能,作為作業系統的一部分,掃描來自Google Play和第三方來源的所有應用程式,以防止惡意行為[293]。「驗證應用程式」最初只在安裝期間進行,然而它在2014年的更新後不斷地掃描應用程式,並在2017年透過「設定」中的選項,讓用戶可見到該功能[294][295]

在安裝「驗證應用程式」前,Google Play商店會顯示一系列應用程序所需的要求,查閱這些權限後,用戶可以選擇接受或拒絕,但必須要在接受的情況下才能安裝應用程式[296]

Android Jelly Bean中,其原生應用程式管理機制App Ops首次被引入,但並未開放讓一般用戶使用[297],直至Android Marshmallow,系統啟用其原生應用程式的權限控制(並非App Ops),它容許用戶在程式安裝後仍能對特定類別的權限使用進行開關,若應用程式的某組權限使用被關閉並準備進入相應權限的方式時,系統會詢問用戶是否容許[298]

Android Marshmallow之前,其權限系統是以「一刀切」的方式進行,應用程式開發商會申請一些非必需的進入權限,或是申請把用戶的私隱資訊作暗中收集、使用、發送至開發商的伺服器;高端用户可以透過取得root權限增加控制程式或修改程式的安裝文件,以仔細限制程式的使用權限,或當中涉及數據的運用[299],然而程式對權限只能在安裝時選擇「全部同意/全部拒絕」的選項經常為人詬病。

在Marshmallow中,應用程式不再在安裝時自動授予其所有指定權限,它會以「選擇加入系統」來代替。當應用程式請求授予某一權限時,系統會就是否授予該權限詢問用戶。應用程式會記著所授權限,授權設定亦可由用戶隨時更改。但是,預先安裝的應用程式不能總是以此方法卸載。在某些情況下,用戶可能無法拒絕預先安裝的應用程式的某些權限,甚至無法禁用它們。就如Google Play的應用程式,無法卸載或禁用。任何強制停止的嘗試的結果只會導致應用程式自動重啟[300][301]。新權限僅供利用軟體開發套件(SDK)為Marshmallow開發的應用程序使用,舊的應用程式將繼續使用以前沿用沒有中間或妥協的方式。對於這些應用程式,其權限仍然可以被撤銷,但這可能會妨礙它們正常運作,並會因此顯示警告[302][303]

2013年8月,Google發布了Android設備管理器,那是一項於同年12月發布的Android應用程序[304][305],它容許用戶利用他們的Android裝置作遠程跟踪、定位及抹除的服務[306][307],該應用程式於2017年5月重新命名為「尋找我的手機」[308][309]。在2016年12月,Google推出可信聯繫人的應用程式,讓用戶在緊急情況下要求取得親人的位置追踪[310][311]

許可證

Android作業系統的原始碼開源碼:那是由Google開發的,在發布新版Android的同時公開發布源代碼,一切程式碼為公開免費[312]的。Google發布了大部分的源代碼(根據開放手機聯盟所開發的非CopyleftApache授權條款2.0下,允許修改和再分配,剩下的Linux内核部分則延續GPL第2版的許可[313][314][315][316]),當中包括網絡和電話解決方案堆棧[317][318]。該許可證並不授予「Android」的商標權利,所以設備製造商和無線運營商必須根據個人合同向Google獲得許可。Google也會與硬件製造商合作生產旗艦設備(Nexus系列的一部分),它以包含新版本的Android為特色,然後在該裝置發布後公開其源代碼[319]。Google也不斷發問卷和開放修改清單、更新情況及程式碼來讓任何人看到並且提出意見和評論,以便按照用戶的需求改進Android作業系統。Android版本中唯一沒有立即發布其源代碼的是僅限於平板電腦3.0使用的「蜂窩(Honeycomb)」版本,其原因是根據安迪·魯賓於Android的官方博客文章指,是因為該版本是爲了摩托羅拉Xoom而倉促開發[320],他們並不希望第三方試圖把適用於智能手機的Android版本套用在平板電腦上以創造「非常糟糕的用戶體驗」[321]

只有基礎的Android作業系統(包括一些應用程式)才是開源軟件,任何廠商都不須經過Google和開放手持設備聯盟的授權隨意使用Android作業系統;大多數Android裝置都附帶著大量的專有軟件,例如是Google流動服務,當中包括Google Play商店、Google搜尋,以及Google Play服務 — 那是一個提供與Google提供的服務應用程式介面集成的軟件層。這些應用程式必須由裝置製造商從Google得到許可,並且只能在符合其兼容性指引及其他要求的配備裝置上[120],任何廠商都不能在未授權的情況下在其產品上使用Google的標誌和應用程序。除非生產商能證明其生產的裝置符合Google兼容性定義文件(CDD),才能在智慧型手機上預載屬於Google的應用程式。所有符合Google生產規定的智能手機廠商才可以在其產品上印有「With Google」的標誌[322]。由製造商生產的定制,認證的Android發行版(例如是TouchWizHTC Sense),也可以使用他們自己的專有軟件,以及新增並不包括在Android作業系統中的stock應用程式,以替換Android中某些stock應用程式[5]。對於設備中的某些硬件組件,這裡可能還需要二進制點英语Binary blob的驅動程式的使用[5][157]

對製造商的影響力

Google僅將其流動服務軟件以及Android的商標授權予符合Android兼容性計劃中指定的Google的兼容性標準[323],因此這使作業系統本身有著重大變化的Android分支(不包括任何Google的非免費組件)跟其所需的應用程式保持不兼容,並且必須隨附替代軟件,以替代Google Play商店中的市場[5]。此類Android分支的例子有亞馬遜Fire OS(那是用於為亞馬遜服務的Kindle Fire系列平板電腦)、諾基亞X軟件平台諾基亞X家族英语Nokia X family的分支,主要用於為諾基亞微軟服務),以及由於在某些地區一般都無法使用Google服務(例如中國大陸),故排除了Google應用程式的其他分支[324][325]。2014年,Google也開始要求所有授權使用Google流動服務軟件的Android裝置的啟動畫面上顯示一個突出的「由Android提供支援」的標誌[120]。Google還強制執行了在裝置上設置Google流動服務及優惠捆綁計劃,包括強制捆綁整個Google主要應用程式套件,和Google搜索的捷徑,以及Google Play商店的應用程式必須以預設配置或在主畫面的預設配置附近[326]

從前在Android的早期版本中使用AOSP代碼的一些股票應用程式及元件,例如搜尋、音樂,行事曆及位置API都被Google遺棄,以支持透過Play商店分發的非免費替代品(Google搜尋、Google Play音樂及Google行事曆)和Google Play服務,它們不再是開源的。此外,某些應用程序的開源變體還排除非自由版本中存在的功能,例如相機中的全景相片(Photosphere),和在預設主畫面上的Google即時資訊由「Google Now Launcher」的專有版本專用,其代碼嵌入於主要Google應用程式的代碼中[5][327][328][329])。這些措施可能旨在阻止分叉並鼓勵符合Google商業許可的要求,作為大多數作業系統的核心功能(以及第三方軟件)依賴於Google獨家授權的專有組件,並且它需要大量的開發資源來開發一套替代套件和API來複製或把它們替換。不使用Google組件的應用程式也會處於功能劣勢,因為他們只能使用作業系統本身包含的API[330]

2018年3月,據報導Google開始阻止「未經認證」的Android裝置使用Google流動服務軟件,並顯示一條警告指,「設備製造商已預載了未經Google認證的Google應用程式及服務」。自定義ROM的用戶能夠將他們的裝置ID以他們的Google帳戶註冊來刪除此障礙[331]

包括大多數Android OEM的開放手機聯盟的成員,被禁止簽訂生產運行Android分支的設備的合同[5][322];2012年,宏碁被Google強行中斷生產運行由阿里巴巴集團開發的AliOS的設備,威脅其若不停止則要將其從聯盟中移除,因為Google認為該平台是Android的不兼容版本。阿里巴巴集團為這些指控進行辯護,爭辯指其作業系統是Android的獨特平台(主要使用HTML5應用程式),但是它整合了Android平台的部分內容,容許向後兼容第三方Android軟件。事實上,這些裝置確實附帶了一個提供Android應用程式的應用商店;然而,它們大多數都是盜版軟件[332][333][334]

系統架構

中介软件

作業系統與應用程式的溝通橋樑,並用分為兩層:函式層和虛擬機器

Bionic是Android改良libc的版本。Android包含了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資料庫系統。資料庫又分為共用資料庫及私用資料庫。使用者可透過ContentProvider類別取得共用資料庫。

Android的中間層多以Java實作,4.4版之前使用特殊的Dalvik虛擬機器。Dalvik虛擬機器是一種“暫存器型態”的Java虛擬機器,變數皆存放於暫存器中,虛擬機器的指令相對減少。5.0版起改用Android Runtime(ART)。

Dalvik虛擬機器可以有多個實例,每個Android應用程式都用一個自屬的Dalvik虛擬機器來執行,讓系統在執行程式時可達到最佳化。Dalvik虛擬機器並非執行Java字節碼,而是執行一種稱為.dex格式的檔案。

硬體抽象層(HAL)

Android的硬體抽象層是能以封閉源碼形式提供硬體驅動模組。HAL的目的是為了把Android framework與Linux kernel隔開,讓Android不至過度依賴Linux kernel,以達成“內核獨立”(kernel independent)的概念,也讓Android framework的開發能在不考量驅動程式實作的前提下進行發展,以達到壟斷GPU市場的目的。

HAL stub是一种代理人的概念,stub是以*.so档的形式存在。Stub向HAL“提供”操作函数,并由Android runtime向HAL取得stub的操作,再回调这些操作函数。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)這種東西。所有的驅動還是在內核空間中,並以HAL隔開版權問題。bionic/libc/kernel/ 並非標準的內核頭文件(kernel header files)。Android的內核頭文件是利用工具由Linux內核的頭文件所產生的,這樣做是為了保留常數、資料結構與巨集。

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

目前Android的Linux kernel控制包括安全、記憶體管理進程管理、網路堆疊、驅動程式模型等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo是Android用來輔助Git工作的一個工具。

應用程序

Google Play

Google透過前身為Android Market的網上商店平臺Google Play,提供應用程式和遊戲供用戶下載,是Android的官方应用商店。截至2013年7月,Google Play官方認證應用程式數量突破100萬,超過蘋果App Store成為全球最大應用商店[336][337]。中文App名稱為「Play 商店」

2009年2月,Google推出Android Market线上應用程式商店,用户可在该平台网页寻找、购买、下载及评级使用智慧型手機应用程序及其他内容[338]。第三方軟體開發商和自由開發者則可以通過Android Market發布其開發的應用程序。在2011年12月,Android Market上的應用程序下載量超過100億次。同時,全球已有1億3千萬部Android設備在Android Market即現在的Google Play上下載過軟體。

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

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

除了Google的Google Play之外,還有其他公司的應用程式市場,如亞馬遜公司的Amazon Appstore,三星公司的三星應用商店,Fetch,AppBrian,與中國國內的酷安豌豆莢[121]

此外,Google Play還提供在Android系統後台對安裝的應用程序進行驗證的服務,以最大程度防範惡意軟件的侵害[340]

2014年11月,Google已表示將支持中國開發者開發Google Play應用[341]

程序開發

每個Android系統中都有標誌性的彩蛋

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

移植到Chrome OS

2016年5月20日,Google在Google I/O上表示,將會把 Google Play商店和Android App帶到Chrome OS中,使Chrome OS可以執行Android APP增加推行ChromebookChromebox的動力,解決該平台應用程式不足的問題;此外Chromebook在美國市場出貨量已經超越蘋果Mac[342]

Google把Android應用程式整合進Chrome OS有市場傳言Google的目的是想將兩者合併,但Android、Chrome OS 與Google Play部門的資深副總裁Hiroshi Lockheimer在專訪中駁斥外界傳言,稱並不會將兩者合併,Chrome OS更像是一台電腦,以桌面、檔案管理、鼠標和鍵盤為基礎,再搭配App,而Android則是以觸控App為核心,兩者的市場模式不同並不會嘗試合併[343]

在中國大陸的情況

在中國大陸生產並售賣,或在境外生產、由當地代理商入口、在中國大陸售賣的裝有Android作業系統的智慧型手機(俗稱行貨),部分会把境外版常附帶的部分Google應用程式(包括Google服務框架)刪除,替換為中國大陸功能相同或相似的應用,即使這些裝置已獲得Google相容性認證及使用授權(CTS及GMS)。而部分手机(如搭载MIUI小米手机)会在搭载Google服务框架的同时提供禁用的选项,以达到省电的需要。[344][345]因此,中國大陸用戶往往需要自行重新安裝Google程式(部分品牌還需要將手機root之後重新刷入Google服務框架)才能使用Google相關的應用服務。能使用Google服務的標誌是可以在系統設置中的法律信息選項中找到“Google法律信息”選項。如果沒有,則此機已刪除Google服務框架。但通過非正式管道流入中國大陸販售市場的Android裝置(俗稱水貨),則基本不受此影響(但部分裝置的Android系統內則被一些非正規供貨商額外預裝了某些應用程式,可能會精簡Google服務框架等組件[346])。而在中國大陸生產,並在境外銷售的裝有Android作業系統的智慧型手機,亦不受此影響,但少數裝有Android作業系統的智慧型手機(例如華為近期推出的機型,由於美國制裁不能預裝Google服務[註 3]),仍然需要自行重新安裝程式才能使用Google相關的應用服務。

市場

Android於2007年亮相時獲得的反應冷淡,雖然Google曾與備受尊敬的科技公司合作組建開放手機聯盟,分析師們對此留下深刻印象,但當時仍不清楚手機製造商是否願意用Android取代現有的作業系統[347]。對於開源碼的想法,基於Linux開發平台引起了人們的興趣[348],但面對著來自智能手機市場的老牌企業(如諾基亞和微軟),以及正在開發中的Linux行動作業系統作為其競爭對手[349]。這些老牌廠商持著懷疑的態度,諾基亞被引述說:「我們不認為這是一種威脅」,而微軟Windows Mobile團隊成員指「我不明白他們將會產生的影響」[350]

從那時起,Android已經發展成為使用最廣泛的智能手機作業系統[351][352],及成為「最快的可用流動體驗之一[353]」。評審強調了作業系統的開源性質是其定義優勢之一,它容許例如諾基亞諾基亞X家族英语Nokia X family[354]亞馬遜Kindle Fire)、巴諾書店Nook)、Ouya百度及其他複刻軟件和發布他們運行自己的Android定製版本的硬體。結果是,科技網站《科技藝術》把其描述為:對於沒有自己的行動平臺的公司來說,「幾乎是推出新硬體的預設作業系統[351]」。這種開放性和靈活性也出現在最終用戶的層面:Android容許裝置作廣泛的客製化,他們的擁有者及應用程式可以從非Google的應用程式商店和第三方網站中獲得。這些被引用為Android手機較其他手機的主要優勢之一[351][355]

儘管Android很受歡迎,包括其激活率是iOS的三倍,有報告指Google仍未能利用他們的其他產品及網絡服務成功地將Android變成分析師所預期的賺錢機器[356]。《The Verge》建議指由於廣泛的客製化及非Google應用程式及服務的激增,使Google正在失去對Android的控制權,亞馬遜的Kindle Fire系列使用的是Fire OS,這是一款經過大量修改的Android分支版本,它不包含或支援任何Google的專有組件,並要求用戶從Google Play商店的競爭對手亞馬遜應用商店中取得軟件[5]。2014年,為了提高Android品牌的知名度,Google開始要求具有其專屬組件的裝置在啟動屏幕上顯示Android的標誌[120]

Android遇到「碎片化」的情況[357],那是在各種Android裝置出現的情況,無論是硬件變化還是其運行軟件上的差異而言,讓開發整個生態系統中一致的應用程序任務較其競爭平台上硬件和軟件變化較少的iOS更難,例如,根據2013年7月的開源訊號英语OpenSignal,這裡有11,868個Android的裝置型號,眾多不同的屏幕尺寸,同時使用8種Android作業系統,而絕大多數的iOS用戶已升級到作業系統的最新版本[358]。如AppleInsider英语Apple community#AppleInsider的評論家斷言硬件和軟件的碎片化,推動著Android透過大量的低端、低價的產品使用舊版的Android使用率不斷上升。他們維持這一點,迫使Android開發人員編寫「最平庸的消費者群體」以取得盡可能多的用戶,然而他們在裝置上僅利用較少比例的最新硬件或軟件功能,這樣他們的動機似乎太少[359]。然而,開發Android及iOS應用程式的OpenSignal得出的結論是,儘管碎片化的情況可能會使軟件開發更加棘手,然而Android在全球更廣泛的影響力增加了潛在的回報[358]

市場份額

三星Galaxy系列為目前銷量和市佔率最高的Android智能手機。

2009年的第二季,市場研究公司Canalys估計,Android佔全球智能手機作業系統市場的2.8%[360]。根據本土市場研究公司ComScore的數據顯示,2009年11月時,Android在美國的智慧型手機作業系統市場的佔有率為5.2%[361],在2010年2月時,這個數字變成了9.0%,而在2010年第三季度末時,Android已經佔據了美國市場的21.4%的份額[362]。到了2010年5月,Android擁有全球智能手機市場的10%,超越了Windows Mobile[363],而在美國,Android佔有28%的份額,超越了iOS[364]。在2010年第四季,其全球份額已經增長佔市場的33%,成為最暢銷的智能手機平台[27],超越了Symbian[365]。根據comScore的數據,Android在美國於2011年4月成為最暢銷的平台,以31.2%的智能手機份額超越BlackBerry OS[366]

對於第三方市場的流行,部份Android用戶不願意付費購買應用程式,轉而直接下載已被駭客破解的軟體。2010年8月,有遊戲開發者針對其作品進行的調查指出,在下載盜版方面,亞洲玩家佔97%,歐洲玩家佔70%,而北美玩家佔47%[367]

截止至2011年6月,Google表示每天透過Google伺服器以激活的Android裝置多達到了55萬部[368],並且以每週4.4%的速度增長[369]。2011年8月1日,Canalys的數據顯示,Android已佔據美國48%的智能手機市場的份額[370]

2011年7月,Google表示每天有550,000個Android裝置被激活[371],高於5月份的每天有400,000個[372],在當時為止已超過1億個裝置被激活[373],每週增長4.4%[371]。2012年9月,每天激活130萬個裝置,在當時為止已激活5億台裝置[374][375]。截至2011年第三季,高德納估計超過一半(52.5%)的智能手機銷量是屬於Android的[376]

2011年10月13日,Google表示全球市場上有1.9億部Android裝置透過Google認證[377],而在2011年11月16日,全球市場上已有2億部Android裝置透過Google認證[378]。然而,配備Android作業系統的平板電腦在所有Android裝置中佔的比例卻只有1.8%,只有380萬Android蜂巢平板被售出,遠遠低於蘋果公司iPad的銷量[379]

Android的市場會因地區而有差異。2012年5月,根據市場調查公司的數據顯示,Android於全球智能手機作業系統中的份額已經過半,達到了60%,即全球有一半的智能手機正在使用Android[380]。2012年7月,美國使用Android「13歲以上的流動用戶」高達52%[381],在中國則上升至90%[382]。2012年6月,Google在2012 Google I/O大會上表示全球市場上有4億部Android設備被啟動,每日啟動約100萬部。另一方面Android系統的平板電腦的市佔率為45.8%,相較之下iOS的市佔率為52.8%[383]。截至2012年第三季,根據研究公司IDC的數據,Android佔據了75%的全球智能手機市場[384],總共有7.5億個裝置被激活,而在2013年4月,Android每天有150萬次激活[375]。截至2013年5月 (2013-05),Android在中國的市佔率為71.5%,超越其競爭對手蘋果公司的50%,在全世界的市佔率接近70%。[385];同時,Google Play商店中已有480億個應用程式經已被安裝[386];在Google I/O上,桑德爾·皮蔡宣布9億台Android裝置已被激活[387]。2013年9月,已有10億個Android裝置被激活[388]。2013年,Android系統的平板電腦市佔率高達61.9%,超過iOS的36%[383]

在大多數市場中,包括美國,Android裝置佔智能手機銷量的一半以上,「只有在日本蘋果公司才能名列前茅」(根據2013年9月至11月的數字[389])。在2013年底,自2010年的四年內已銷售超過15億部Android智能手機[390][391],使Android成為最暢銷的手機和平板電腦作業系統。預計到2014年底,Android智能手機將有30億個的銷售量(包括前幾年)。據Gartner研究公司稱,自2012年以來,Android的裝置每年都超越所有競爭者[392]。在2013年,它超過了Windows的比率為2.8比1,或說是5.73億[393][394][395]。截至2015年 (2015-Missing required parameter 1=month!),Android擁有所有作業系統中最大的現有用戶群[46];自2013年以來,銷售並使用它的裝置也超過使用Windows、iOS及Mac OS X合併起來的數字[396]

根據StatCounter,只是僅跟踪瀏覽網頁的用途,Android是自2013年8月以來最受歡迎的行動作業系統[397]。Android在印度和其他幾個國家是最受歡迎的網頁瀏覽作業系統(除日本和朝鮮外,幾乎整個亞洲)。根據StatCounter,Android是在所有非洲國家中最多使用的行動裝置系統,它並表示「在一些國家中,手機使用率已經超越桌面,包括印度,南非和沙特阿拉伯[398]」,幾乎所有非洲國家已經是這樣做了(包括埃及在內的7個國家除外),例如埃塞俄比亞和肯尼亞,其中包括平板電腦的行動使用率為90.46%(僅限Android佔所有用途的75.81%)[399][400]

雖然西方世界中的Android手機通常包括Google專有的附加組件(如Google Play)到其他開源作業系統,然而在新興市場的事實並非如此;「ABI Research聲稱,在2014年第二季中,全球共有6,500萬個裝置使用開源的Android,高於第一季的5,400萬台」;根據國家,估計只基於AOSP源代碼的手機百分比放棄Android商標的地區:泰國(44%)、菲律賓(38%)、印尼(31%)、印度(21%)、馬來西亞(24%)、墨西哥(18%)、巴西(9%)[401]

根據2015年1月Gartner的報告指,「Android在2014年有超過了10億個裝置,並將於2015年繼續以雙位數字的速度增長,較去年同期增加了26%。」這是作業系統在一年內達到超過十億最終用戶的首次;在2014年達到接近11.6億的最終用戶,Android的出貨量超越iOSOS X加起來的四倍,亦高於Microsoft Windows的三倍以上。Gartner預計整個手機市場將「在2016年達到20億個裝置」,當中包括了Android[402]法哈德·文奧英语Farhad Manjoo描述統計數據,並於《紐約時報》中寫道:「今天所售出的每兩台電腦中,就有一台正在運行Android。 「它」已成為了世上主導的電腦平臺。[46]」據高級分析軟件Statistica英语Statistica估計,2015年以Android作為智能手機安裝基礎的數量為18億個,這是預算全球智能手機總數的76%[403][404][a]。根據2012年、2013年、2014年的銷售數字[406],Android擁有所有流動作業系統中最高的安裝量,並自2013年以來,成為了整體銷售最暢銷的作業系統[393][396][407][408][409],接近所有PC的安裝數字[410]

2015年9月,Google宣布Android每月活躍用戶數量為1.4億[411][412],這在2017年5月每月活躍用戶上升變成2億[413][414]

在2014年第二季,Android在全球智能手機出貨市場的份額為84.7%,創下了新紀錄[415][416]。截至2016年第三季,全球市場份額已增長至87.5%[417],拋離其主要競爭對手的iOS只有12.1%的市場份額[418]

截至2016年5月 (2016-05),Google Play商店中的應用程式已下載超過65億次[419]。截至2017年2月 (2017-02),Google Play商店已發布了超過270萬個Android應用程式[420],作業系統的成功使技術公司之間興起所謂的「智能手機專利戰英语Smartphone patent wars」的一部分,並使其成為專利訴訟的目標[421][422]。根據StatCounter於2017年4月的報告,Android超越了Microsoft Windows,成為最受歡迎的總互聯網使用的作業系統[423][424]。從那時起它一直保持著多元化[425]

平台使用率

平板電腦各作業系統比例

2012年市佔率
  Android(45.8%)
  iOS(52.8%)
  Windows(1.0%)
  其他(0.3%)
2013年市佔率
  Android(61.9%)
  iOS(36.0%)
  Windows(2.1%)
  其他(0.1%)
作業系統2012年銷售量2012年市佔率2013年銷售量2013年市佔率
Android53,341,25045.8%120,961,44561.9%
iOS61,465,63252.8%70,400,15936.0%
Windows1,162,4351.0%4,031,8022.1%
其他379,0000.3%41,5980.1%

用户使用系統版本比例

此Android版本的細目表只根據截至2019年5月7日的七天內進入Google Play商店的裝置資料[426][b],因此,這些統計數據並不包括沒有進入Google Play商店的各種Android分支的裝置,例如是亞馬遜的Kindle Fire

  Pie(10.4%)
  Oreo(28.3%)
  Nougat(19.2%)
  Marshmallow(16.9%)
  Lollipop(14.5%)
  KitKat(6.9%)
  Jelly Bean(3.2%)
  Ice Cream Sandwich(0.3%)
  Gingerbread(0.3%)
發行日期版本作業系統名稱API等級運作所需比率發行裝置
2018年8月6日9Pie 舊版本,仍被支援: 28ART10.4%Sony Xperia XZ3Pixel 3、Pixel 3 XL
2017年12月5日8.1Oreo 舊版本,仍被支援: 27ART5.8%Sony Xperia XZ1Pixel 2、Pixel 2 XL
2017年8月21日8.0 舊版本,仍被支援: 26ART13.4%
2016年10月4日7.1Nougat 舊版本,仍被支援: 25ART10.3%LG V20Pixel、Pixel XL
2016年8月22日7.0 舊版本,仍被支援: 24ART19.0%
2015年10月5日6.0Marshmallow舊版本,不再支援: 23ART21.6%Nexus 5XNexus 6PHTC One A9
2015年3月9日5.1Lollipop舊版本,不再支援: 22ART14.7%Nexus 6Nexus 9
2014年11月3日5.0舊版本,不再支援: 21ART 2.1.03.6%
2013年10月31日4.4KitKat舊版本,不再支援: 19Dalvik (及ART 1.6.0)7.8%Nexus 5
2013年7月24日4.3Jelly Bean舊版本,不再支援: 18Dalvik0.5%Nexus 7
2012年11月13日4.2舊版本,不再支援: 17Dalvik1.6%Nexus 7Nexus 4Nexus 10
2012年7月9日4.1舊版本,不再支援: 16Dalvik1.1%
2011年10月19日4.0Ice Cream Sandwich舊版本,不再支援: 15Dalvik0.3%Galaxy Nexus
2011年2月9日2.3Gingerbread舊版本,不再支援: 10Dalvik 1.4.00.3%Nexus S
格式:
舊版本
舊版本,仍被支援
当前版本
最新的预览版
未来版本

截至2019年5月 (2019-05),有80%的裝置已有OpenGL ES 3.0或更高的配置。

專利糾紛

盜版應用

一般來說,付費的Android應用程式很容易被盜版[427]。在2012年5月的《Eurogamer》的訪問中,《足球經理系列》的開發者表示,在他們的遊戲「掌上足球經理」上,盜版玩家與合法玩家的比例為9:1[428]。然而,並非所有開發者都同意盜版率是一個問題;例如,在2012年7月,遊戲《上弦騎士英语Wind-up Knight》的開發者表示,他們的遊戲盜版率僅為12%,大部分盜版來自中國大陆,那裡的人們無法從Google Play購買應用程式[429]

在2010年,Google發布了一款用於驗證在應用程式內使用授權購買的工具,但開發人員抱怨說對破解軟件英语Software cracking而言,這是還不足夠及微不足道的。Google回應指該工具,特別是其初始版本,旨在作為開發人員根據他們的需求進行修改和構建的示例框架,而並非完整的盜版解決方案[430]。Android的Jelly Bean引入了加密付費應用程式的功能,因此它們只能在購買它們的裝置上使用[431][432]

專利爭議

《PC世界》雜誌網站2011年9月22日報道,Android捲入1000多件專利訴訟中。

2011年8月,Google斥資125億美元收購摩托羅拉移動(Motorola Mobility)及其擁有的約2.45萬份專利組合[433]

Android的Gameloft應用程式打開後,必須透過安裝必備檔案來使用。

與甲骨文公司的Java糾紛

關於甲骨文公司就Android所使用的開發語言平臺Java為最引人關注的權利糾紛事件。

2010年8月,甲骨文公司就開始對Google無授權使用Java語言實現侵犯了公司的專利在美國加州北區地方法院提起控訴[434],要求高達90億美元的賠償,其中牽涉了原供職於Sun公司的Java開發人員在轉職Google開發Android的Java實現使用了原公司的實現,[435]API介面的實現是否具有專利版權性,Android的Java實現是否對甲骨文公司的Java移動平臺系列產品做成衝擊而形成不正當壟斷等問題。

2012年5月的訴訟結果為陪審團支持Google的訴求,認為API只是系統或操作的方法,不受版權保護。2012年10月甲骨文公司上訴,2014年5月,美國聯邦巡迴上訴法院認為API屬於“電腦程序”仍受版權保護,判決Android侵犯了甲骨文公司Java的版權,但並不排除Google對其擁有合理使用性的權利[436][437]。2014年10月Google向美國最高法院申請調卷令,請求最高院介入。2015年6月29日調卷令被拒絕,發往舊金山聯邦法院進行審理[438][434]

2016年5月,舊金山聯邦法院陪審團認定Android實現Java的API命名結構屬於合理使用,不構成侵權,最終判Google勝訴[439]

2016年8月22日,Google在Android 7.0 Nougat中將專利的JDK替換成開源方案的OpenJDK,以徹底解決Java的專利問題[440]

2021年4月5日,美國聯邦最高法院以6票對2票的表決結果,裁定Google使用Java程式語言開發Android行動作業系統,屬「合理使用」,不構成侵權[441]

該裁定認為Google在開發Android系統中,複製、使用部分Java API程式碼作為應用程式接口的行為,屬於憲法保障「創造性進步」原則的合理範圍。大法官史蒂芬·布雷耶指出,若將甲骨文所欲執行的主張進行明確立法將損害公眾利益,如同把電腦程式碼變成「限制未來應用程式實現創造力的枷鎖」。不過,對於API程式碼是否享有版權保護,最高法院並未作出明確回答[442][443]

針對裁決,Google表示,這是「創新相互操作性、電腦科學」一次共同的重大勝利,「更重要的是,API程式碼幾乎沒有創造力,只是開發人員用以調用、或是呼叫使用程式語言支持其他指令的一種速記,因此,對於侵權行為的主張是不合理的」。甲骨文則再次重申Google偷走Java程式碼的指控,並表示本次Google的勝利,「完全是基於Google在整個市場、經濟支配中的優勢地位」[442][443]

分支平台

Android Wear OS

Android Wear OS是專為智慧型手表等可穿戴式設備所設計的一個Android系統分支。

Android TV

Android TV是專為家用電視所設計的一個Android系統分支。

Android Auto

Android Auto是專為汽車所設計的一個Android系統分支。

Android Automotive

是Android作業系統的變體,也是一款專為車輛儀錶板中的使用而量身定製系統分支。

Android Go

Android Go是針對低階裝置量身訂作的Android系統分支。

吉祥物

Android的吉祥物为绿色的安卓机器人,设计者为Irina Blok。纽约时报的Pagan Kennedy在2013年发布了一篇关于安卓机器人的文章。文中提到了Irina在设计安卓机器人之初研究了许多科幻类玩具和太空电影。文章还指出Irina的最终灵感来自于厕所标志。厕所标志线条简洁,全世界的人都认识。安卓机器人完美地继承了这些特性。[444]

參見

注釋

參考文獻

442. Kapadokya tur fiyati. Kapadokya At turu页面存档备份,存于互联网档案馆) 2023-04-09.

外部鏈接