複製鏈接
請複製以下鏈接發送給好友

安卓

(手機系統)

鎖定
安卓(Android)是一種基於Linux內核(不包含GNU組件)的自由及開放源代碼的操作系統。主要使用於移動設備,如智能手機平板電腦,由美國Google公司和開放手機聯盟領導及開發。Android操作系統最初由安迪·魯賓開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件製造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發佈了Android的源代碼。第一部Android智能手機發佈於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視數碼相機遊戲機智能手錶等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。
2022年5月12日,谷歌舉辦I/O 2022開發者大會,並正式發佈Android 13 [23] 
軟件名稱
Android(安卓)
上線時間
2008年9月23日
軟件語言
C/C++(底層)、JavaKotlin等(應用層)
開發商
Google開放手持設備聯盟
軟件版本
Android 13
創始人
安迪·魯賓
系統家族
類Unix系統Linux
內核類型
宏內核Linux內核
軟件許可
Apache LicenseGPL

安卓系統簡介

Android  logo相關圖片
Android logo相關圖片(30張)
Android一詞的本義指“機器人”,同時也是Google於2007年11月5日宣佈的基於Linux平台的開源手機操作系統的名稱,該平台由操作系統、中間件、用户界面應用軟件組成。
Android一詞最早出現於法國作家利爾亞當(Auguste Villiers de l'Isle-Adam)在1886年發表的科幻小説未來夏娃》(L'ève future)中。他將外表像人的機器起名為Android。
Android的Logo是由Ascender公司設計的,誕生於2010年,其設計靈感源於男女廁所門上的圖形符號,於是布洛克繪製了一個簡單的機器人,它的軀幹就像錫罐的形狀,頭上還有兩根天線,Android小機器人便誕生了。其中的文字使用了Ascender公司專門製作的稱之為“Droid ” 的字體。Android是一個全身綠色的機器人,綠色也是Android的標誌。顏色採用了PMS 376C和RGB中十六進制的#A4C639來繪製,這是Android操作系統品牌象徵。有時候,它們還會使用純文字的Logo
2012年7月美國科技博客網站BusinessInsider評選出二十一世紀十款最重要電子產品,Android操作系統iPhone等榜上有名。
(Android logo 相關圖片相冊圖片來源:)

安卓發展歷程

2003年10月,Andy Rubin等人創建Android公司,並組建Android團隊。
2005年8月17日,Google低調收購了成立僅22個月的高科技企業Android及其團隊。安迪魯賓成為Google公司工程部副總裁,繼續負責Android項目。
2007年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統,並且在這天谷歌宣佈建立一個全球性的聯盟組織,該組織由34家手機制造商、軟件開發商、電信運營商以及芯片製造商共同組成,並與84家硬件製造商、軟件開發商及電信營運商組成開放手持設備聯盟(Open Handset Alliance)來共同研發改良Android系統,這一聯盟將支持谷歌發佈的手機操作系統以及應用軟件,Google以Apache免費開源許可證的授權方式,發佈了Android的源代碼 [2-3] 
2008年,在GoogleI/O大會上,谷歌提出了AndroidHAL架構圖,在同年8月18號,Android獲得了美國聯邦通信委員會FCC)的批准,在2008年9月,谷歌正式發佈了Android 1.0系統,這也是Android系統最早的版本。
2009年4月,谷歌正式推出了Android 1.5這款手機,從Android 1.5版本開始,谷歌開始將Android的版本以甜品的名字命名,Android 1.5命名為Cupcake(紙杯蛋糕)。該系統與Android 1.0相比有了很大的改進。
2009年9月,谷歌發佈了Android 1.6的正式版,並且推出了搭載Android 1.6正式版的手機HTC Hero(G3),憑藉着出色的外觀設計以及全新的Android 1.6操作系統,HTC Hero(G3)成為當時全球最受歡迎的手機。Android 1.6也有一個有趣的甜品名稱,它被稱為Donut(甜甜圈)。
2010年2月,Linux內核開發者Greg Kroah-Hartman將Android的驅動程序從Linux內核“狀態樹”(“staging tree”)上除去,從此,Android與Linux開發主流將分道揚鑣。在同年5月份,谷歌正式發佈了Android 2.2操作系統。谷歌將Android 2.2操作系統命名為Froyo,翻譯完名為凍酸奶。
2010年10月,谷歌宣佈Android系統達到了第一個里程碑,即電子市場上獲得官方數字認證的Android應用數量已經達到了10萬個,Android系統的應用增長非常迅速。在2010年12月,谷歌正式發佈了Android 2.3操作系統Gingerbread (薑餅)。
2011年1月,谷歌稱每日的Android設備新用户數量達到了30萬部,到2011年7月,這個數字增長到55萬部,而Android系統設備的用户總數達到了1.35億,Android系統已經成為智能手機領域佔有量最高的系統。
2011年8月2日,Android手機已佔據全球智能機市場48%的份額,並在亞太地區市場佔據統治地位,終結了Symbian(塞班系統)的霸主地位,躍居全球第一。
2011年9月,Android系統的應用數目已經達到了48萬,而在智能手機市場,Android系統的佔有率已經達到了43%。繼續在排在移動操作系統首位。谷歌將會發布全新的Android 4.0操作系統,這款系統被谷歌命名為Ice Cream Sandwich(冰激凌三明治)。
2012年1月6日,谷歌Android Market已有10萬開發者推出超過40萬活躍的應用,大多數的應用程序為免費。Android Market應用程序商店目錄在新年首週週末突破40萬基準,距離突破30萬應用僅4個月。在2011年早些時候,Android Market從20萬增加到30萬應用也花了四個月 [4] 
2013年11月1日,Android4.4正式發佈,從具體功能上講,Android4.4提供了各種實用小功能,新的Android系統更智能,添加更多的Emoji表情圖案,UI的改進也更現代,如全新的HelloiOS7半透明效果。
2014第一季度Android平台已佔所有移動廣告流量來源的42.8%,首度超越iOS。但運營收入不及iOS [1] 
2015年,網絡安全公司Zimperium研究人員警告,安卓(Android)存在“致命”安全漏洞,黑客發送一封彩信便能在用户毫不知情的情況下完全控制手機 [5] 
2018年10月,谷歌表示,將於2018年12月6日停止Android系統中的Nearby Notifications(附近通知)服務,因為Android用户收到太多的附近商家推銷信息的垃圾郵件 [6] 
2020年3月,谷歌的Android安全公告中提到,新更新已經提供了CVE-2020-0069補丁來解決針對聯發科芯片的一個嚴重安全漏洞 [7] 
2022年2月,Android 12L Beta 3 版本發佈,首次支持了 Pixel 6 和 Pixel 6 Pro,以及更新的測試環境、缺陷修復和優化。 [16] 
2022年2月,谷歌宣佈推出Android隱私沙盒,旨在引入更新、更具私密性的廣告解決方案,以限制與第三方機構共享用户信息,但不損害廣告主短期利益。谷歌計劃在年內隨測試版一起發佈隱私沙盒開發者預覽版。 [18] 
2022年3月27日消息,據俄羅斯衞星通訊社報道,由於受到美國製裁,谷歌已經停止認證運行Android系統的俄羅斯BQ公司的智能手機,該公司將轉向使用中國華為公司打造的鴻蒙系統。 [21] 
北京時間2022年5月6日下午消息,據報道,5月5日是世界密碼日,蘋果、谷歌和微軟這三大科技巨頭在一項聯合計劃中宣佈,他們將致力於在未來一年,在其控制的所有移動、桌面和瀏覽器平台上打造無密碼登錄系統。 [22] 

安卓發行版本

測試版本
Android 各代版本 Logo Android 各代版本 Logo
Android在正式發行之前,最開始擁有兩個內部測試版本,並且以著名的機器人名稱來對其進行命名,它們分別是:阿童木(AndroidBeta),發條機器人(Android 1.0)。後來由於涉及到版權問題,谷歌將其命名規則變更為用甜點作為它們系統版本的代號的命名方法。甜點命名法開始於Android 1.5發佈的時候。作為每個版本代表的甜點的尺寸越變越大,然後按照26個字母數序:紙杯蛋糕(Android 1.5),甜甜圈(Android 1.6),鬆餅(Android 2.0/2.1),凍酸奶(Android 2.2),薑餅(Android 2.3),蜂巢(Android 3.0),冰激凌三明治(Android 4.0),果凍豆(Jelly Bean,Android4.1和Android 4.2),奇巧(KitKat,Android 4.4),棒棒糖(Lollipop,Android 5.0),棉花糖(Marshmallow,Android 6.0),牛軋糖(Nougat,Android 7.0),奧利奧(Oreo,Android 8.0),(Pie,Android 9.0) [8-9] 
從Android 10開始,Android不會再按照基於美味零食或甜點的字母順序命名,而是轉換為版本號,就像Windows操作系統和iOS系統一樣 [10] 
V1.0 Beta
2007年發佈的Android 阿童木。
V1.0
主詞條:Android 1.0
2008年9月,谷歌發佈Android1.0 [3] 
V1.5
主詞條:Android 1.5
Cupcake(紙杯蛋糕):2009年4月30日發佈。
主要的更新如下:
拍攝/播放影片,並支持上傳到Youtube;支持立體聲藍牙耳機,同時改善自動配對性能;最新的採用WebKit技術的瀏覽器,支持複製/貼上和頁面中搜索;GPS性能大大提高;提供屏幕虛擬鍵盤;主屏幕增加音樂播放器和相框widgets;應用程序自動隨着手機旋轉;短信、Gmail、日曆,瀏覽器的用户接口大幅改進,如Gmail可以批量刪除郵件;相機啓動速度加快,拍攝圖片可以直接上傳到Picasa;來電照片顯示。
V1.6
主詞條:Android 1.6
Donut(甜甜圈):2009年9月15日發佈。
主要的更新如下:
重新設計的Android Market手勢;支持CDMA網絡;文字轉語音系統(Text-to-Speech);快速搜索框;全新的拍照接口;查看應用程序耗電;支持虛擬私人網絡(VPN);支持更多的屏幕分辨率;支持OpenCore2媒體引擎;新增面向視覺或聽覺困難人羣的易用性插件。
V2.1
主詞條:Android 2.1
2009年10月26日發佈。
主要更新:
優化硬件速度;"Car Home"程序;支持更多的屏幕分辨率;改良的用户界面;新的瀏覽器的用户接口和支持HTML5;新的聯繫人名單;更好的白色/黑色背景比率;改進Google Maps3.1.2;支持Microsoft Exchange;支持內置相機閃光燈;支持數碼變焦;改進的虛擬鍵盤;支持藍牙2.1;支持動態桌面的設計。
V2.2
主詞條:Android 2.2
Froyo(凍酸奶)2010年5月20日發佈。
主要更新:
整體性能大幅度的提升;3G網絡共享功能;Flash的支持;App2sd功能;全新的軟件商店;更多的Web應用API接口的開發。
V2.3
主詞條:android 2.3
Gingerbread(薑餅) :2010年12月7日發佈。
主要更新:
增加了新的垃圾回收和優化處理事件;原生代碼可直接存取輸入和感應器事件、EGL/OpenGLES、OpenSL ES;新的管理窗口和生命週期的框架;支持VP8WebM視頻格式,提供AACAMR寬頻編碼,提供了新的音頻效果器;支持前置攝像頭、SIP/VOIP和NFC(近場通訊);簡化界面、速度提升;更快更直觀的文字輸入;一鍵文字選擇和複製/粘帖;改進的電源管理系統;新的應用管理方式。
V3.0
主詞條:Android 3.0
Honeycomb(蜂巢):2011年2月3日發佈。
主要更新:
針對平板大屏幕而做優化;全新設計的UI增強網頁瀏覽功能 ;in-app purchases功能。
V3.1
主詞條:Android 3.1
Honeycomb(蜂巢) :2011年5月11日布發佈。
主要更新:
經過優化的Gmail電子郵箱 ;全面支持Google Maps ;將Android手機系統跟平板系統再次合併從而方便開發者;任務管理器可滾動,支持USB輸入設備(鍵盤鼠標等) ;支持Google TV.可以支持XBOX 360無線手柄;widget支持的變化,能更加容易的定製屏幕widget插件。
V3.2
主詞條:android 3.2
Honeycomb(蜂巢):2011年7月13日發佈。
主要更新:
支持SD卡;支持7英寸平板和高通處理器;桌面小部件自由縮放。
V4.0
主詞條:Android 4.0
Ice Cream Sandwich(冰激凌三明治):2011年10月19日上午十點,谷歌與三星聯手在中國香港舉辦發佈會,公佈有關Android 4.0系統信息。
版本主要更新如下:
全新的UI;全新的Chrome Lite瀏覽器,有離線閲讀,16標籤頁,隱身瀏覽模式等;截圖功能;更強大的圖片編輯功能;自帶照片應用堪比Instagram,可以加濾鏡、加相框,進行360度全景拍攝,照片還能根據地點來排序;Gmail加入手勢、離線搜索功能,UI更強大;新功能People:以聯繫人照片為核心,界面偏重滑動而非點擊,集成了Twitter、Linkedin、Google+等通訊工具。有望支持用户自定義添加第三方服務;新增流量管理工具,可具體查看每個應用產生的流量,限制使用流量,到達設置標準後自動斷開網絡。
V4.1
主詞條:Android 4.1
Android 4.1Jelly Bean(果凍豆)2012年6月28日發佈。
新特性:
更快、更流暢、更靈敏;特效動畫的幀速提高至60fps,增加了三倍緩衝;增強通知欄;全新搜索;搜索將會帶來全新的UI、智能語音搜索和Google Now三項新功能;桌面插件自動調整大小;加強無障礙操作;語言和輸入法擴展;新的輸入類型和功能;新的連接類型。
V4.2
Android 4.2 Jelly Bean 原生系統用户界面 Android 4.2 Jelly Bean 原生系統用户界面
主詞條:Android 4.2
Android 4.2Jelly Bean(果凍豆)2012年10月30日發佈。
Android 4.2沿用“果凍豆”這一名稱,以反映這種最新操作系統與Android 4.1的相似性,但Android 4.2推出了一些重大的新特性,具體如下:
Photo Sphere全景拍照功能;鍵盤手勢輸入功能;改進鎖屏功能,包括鎖屏狀態下支持桌面掛件和直接打開照相功能等;可擴展通知,允許用户直接打開應用;Gmail郵件可縮放顯示;Daydream屏幕保護程序;用户連點三次可放大整個顯示屏,還可用兩根手指進行旋轉和縮放顯示,以及專為盲人用户設計的語音輸出和手勢模式導航功能等;支持Miracast無線顯示共享功能;Google Now現可允許用户使用Gamail作為新的數據來源,如改進後的航班追蹤功能、酒店和餐廳預訂功能以及音樂和電影推薦功能等。
V4.3
主詞條:Android 4.3
2013年7月25日發佈。
V4.4
主詞條:Android 4.4
Android 4.4KitKat(奇巧巧克力): 2013年下半年發佈。
2013年9月4日凌晨,谷歌對外公佈了Android新版本Android 4.4KitKat(奇巧巧克力),並且於2013年11月01日正式發佈,新的4.4系統更加整合了自家服務,力求防止安卓系統繼續碎片化、分散化 [11] 
V5.0
主詞條:Android 5.0
Android 5.0Lollipop(棒棒糖):2014年6月26日發佈。
Android 5.0 系統使用一種新的Material Design設計風格。從圖片上就能看到一些全新的設計。從圖片上看,這套設計圖對 Android 系統的桌面圖標及部件的透明度進行的稍稍的調整,並且各種桌面小部件也可以重疊擺放。雖然調整桌面部件透明度對 Android 系統來説並不算什麼新鮮的功能,但是加入了透明度的改進。界面加入了五彩繽紛的顏色、流暢的動畫效果,呈現出一種清新的風格。採用這種設計的目的在於統一 Android 設備的外觀和使用體驗,不論是手機、平板還是多媒體播放器。
V5.1
主詞條:Android 5.1
Android 5.1新系統相對於Android5.0更加穩定了,同時支持多張SIM卡,加強了設備保護機制,增強了設備的WiFi能力。
V6.0
Android 6.0Marshmallow(棉花糖):2015年9月30日
新系統的整體設計風格依然保持扁平化的Material Design風格。Android6.0在對軟件體驗與運行性能上進行了大幅度的優化。據測試,Android6.0可使設備續航時間提升30%。
V7.0
Android 7.0Nougat(牛軋糖):2016年8月22日 [9] 
Android 7.0 提供新功能以提升性能、生產效率和安全性。通過新的系統行為測試您的應用,以節省電量和內存。充分利用多窗口 UI、直接回復通知等功能。
V7.1
Android 7.1更新為用户和開發人員引入了各種新功能。
快捷方式
您可以使用新的快捷方式功能將用户從啓動器直接帶入應用程序內的關鍵操作。用户只需長按應用程序的啓動器圖標以顯示應用程序的快捷方式,然後點擊快捷方式即可跳至相關的操作。這些快捷方式是吸引用户的好方法,它們使您甚至在用户啓動應用程序之前也可以展示應用程序的功能。
每個快捷方式都引用一個意圖,每個意圖都會啓動一個特定的動作或任務,並且您可以為可以表示為意圖的任何動作創建一個快捷方式。例如,您可以創建用於發送新短信,進行預訂,播放視頻,繼續遊戲,加載地圖位置等等的意圖。
您可以通過將應用程序快捷方式添加到APK中的資源文件中來為其靜態創建快捷方式,也可以在運行時動態添加它們。靜態快捷方式是常見操作的理想選擇,動態快捷方式使您可以根據用户的偏好,行為,位置等突出顯示操作。每個應用程序中最多可以提供五個快捷鍵。但是請注意,某些啓動器應用程序不會顯示您為應用程序註冊的所有快捷方式。
您的應用添加快捷方式後,便可以在任何支持它們的啓動器上使用它們,例如Pixel啓動器(Pixel設備上的默認啓動器),Now啓動器(Nexus設備上的默認啓動器)以及其他提供支持的啓動器。
屏幕截圖 屏幕截圖
任何應用程序都可以創建快捷方式,任何啓動器應用程序都可以添加對快捷方式的支持。Android 7.1提供了一個API,供應用程序註冊快捷方式和啓動程序讀取已註冊的快捷方式。
7.1 屏幕截圖 7.1 屏幕截圖
V8.0
Android 8.0 奧利奧 Android 8.0 奧利奧
Android 8.0Oreo(奧利奧):2017年8月22日發佈。
更智能、更快速、功能更強大。您喜愛的新 Android 版本以全球人都愛的一款曲奇餅為代號。
新功能:畫中畫 通知圓點 通知渠道 自動填充框架 自動調整 TextView 的大小 可下載字體 自適應圖標 快捷方式固定 廣色域色彩 WebView 功能 Java 8 語言 API 媒體功能 多顯示器支持 Neural Networks API Android Oreo(Go 版本)
V8.1
Android 8.1 功能和 API
Android 8.1(API 級別 27)為用户和開發者引入了各種新功能。
Android 8.1 Go是一項旨在為全球數十億網絡用户優化 Android 體驗的計劃。從 Android 8.1 開始,我們就在將 Android 打造成入門級設備的理想平台。Android Oreo(Go 版本)配置中的功能包括:
  • 內存優化。改進了整個平台的內存使用情況,可確保應用可以在內存不超過 1GB 的設備上高效運行。
  • 靈活的定位選項。新的硬件功能常量,可讓您通過 Google Play 向正常內存或低內存設備分發應用。
  • Google Play。儘管所有應用都可以在搭載 Android Oreo(Go 版本)的設備上使用,但 Google Play 仍會按照“為數十億用户打造產品”指南展示經過開發者專門優化的應用,以便為數十億用户提供出色的體驗。
我們更新了“為數十億用户打造產品”指南,加入了有關如何針對搭載 Android Oreo(Go 版本)的設備優化應用的指導。對於大多數開發者來説,優化現有的 APK,或使用 Google Play 的多 APK 功能將某個 APK 版本定位到低內存設備,是針對搭載 Android Oreo(Go 版本)的設備做好準備的最佳方式。請注意,無論您的受眾使用何種設備,將應用打造得更加纖巧高效都對他們有益。
V9.0
Android 9.0 Pie Android 9.0 Pie
Android 9.0Pie (派):2018年5月9日發佈。
通知欄樣式更改,整體設計添加了更多圓形。
Android 9 利用人工智能技術,讓手機可以為您提供更多幫助。現在,手機變得更智能、更快,並且還可以隨着您的使用進行調整。
V10.0
Android 10 Android 10
從 Android 10 開始,Google 開始提供系統級的黑暗模式,大部分預裝應用、抽屜、設置菜單和 Google Feed 資訊流等界面和按鈕,都會變成以黑色為主色調,就和你在 macOS Mojave 中看到的暗色界面一樣。為確保用户隱私和安全支持新的保護措施。藉助高性能編解碼器、更出色的生物識別技術、更快的應用啓動速度、Vulkan 1.1、NNAPI 1.2、可摺疊設備和 5G 等更多功能擴展!
谷歌宣佈Android系統的重大改變,不僅換了全新的logo,命名方式也變了,2019年的Android Q的正式名稱是Android 10 [12] 
V11.0
Android 11 LOGO Android 11 LOGO
2019年10月11日消息,據外媒報道,2019年Android開發峯會將於本月晚些時候開幕,谷歌公佈了完整的會議日程。在會議日程中谷歌官方首次提到了Android 11。
此前外媒發現在AOSP中,谷歌已經啓用了代號“Android R”。按照Android命名規則,Android R應該就是下一代Android:Android 11。
由於疫情原因,谷歌宣佈取消線下的開發者大會,後來又取消了線上開發者大會,所以Android 11 將在2020年第三季度發佈
官網發佈時間軸 官網發佈時間軸
Android 11 開發者預覽版計劃從 2020 年 2 月啓動,到向 AOSP 和 OEM 提供最終的公開版本時結束,最終版本預計將於 2020 年第 3 季度發佈。在開發階段的各個關鍵里程碑,我們將為您的開發和測試環境提供更新。每次更新均包括 SDK 工具、系統映像、模擬器、API 參考和 API 差異。里程碑列表如下。
時間軸
Build
類型
開發者操作
2 月
開發者預覽版 1
早期的基準 build,涉及新功能、API 和行為變更,重點關注開發者反饋。
API 反饋的重要窗口。查看新的 API 和行為變更,並在此期間向我們報告任何重大問題或請求。
3 月
開發者預覽版 2
增量更新,涉及更多的功能、API 和行為變更。
在處理 API 和行為變更時,向我們提供反饋。開始早期的應用兼容性測試。
4 月
開發者預覽版 3
針對穩定性和性能的增量更新。
準備好應用,迎接消費者 Beta 版。繼續進行兼容性測試,在不更改目標的情況下發布更新。如有任何問題,通知 SDK 和庫的開發者。
5 月
Beta 版 1
初始 Beta 版本,面向註冊試用 Android Beta 版的嚐鮮者提供無線更新。
繼續進行兼容性測試,留意 Android Beta 版用户的反饋。開始針對 Android 11 的早期測試。
6 月
Beta 版 2
平台穩定性里程碑,提供最終的 API 和行為。開放 Play 發佈。
開始對應用、SDK 和庫進行最終的兼容性測試。發佈兼容版本。繼續針對 Android 11 的工作。
第 3 季度
Beta 版 3
候選版本 build。
發佈應用、SDK 和庫的兼容更新。繼續針對 Android 11 的工作。使用新功能和 API 構建應用。
第 3 季度
最終版本
面向 AOSP 和生態系統發佈 Android 11 版本。
發佈應用、SDK 和庫的兼容更新。繼續針對 Android 11 的工作。使用新功能和 API 構建應用。
V12.0
2021年5月19日凌晨消息,谷歌宣佈Android 12正式到來,測試版現在即可供下載 [15] 
V13.0
2022年2月11日,谷歌發佈了首個 Android 13 開發者預覽版,將在6月發佈穩定版。 [17] 
2022年5月12日,谷歌舉辦I/O 2022開發者大會,並正式發佈Android 13。 [23] 

安卓體系架構

Android結構 Android結構
Android的系統架構和其操作系統一樣,採用了分層的架構。從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。
Android會同一系列核心應用程序包一起發佈,該應用程序包包括客户端,SMS短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
應用程序框架
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發佈它的功能塊並且任何其它的應用程序都可以使用其所發佈的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用户可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統, 其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序, 它包括列表(Lists),網格(Grids),文本框(Text boxes),按鈕(Buttons), 甚至可嵌入的web瀏覽器。
內容提供器(Content Providers)使得應用程序可以訪問另一個應用程序的數據(如聯繫人數據庫), 或者共享它們自己的數據
資源管理器(Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和佈局文件(Layout files )。
通知管理器 (Notification Manager)使得應用程序可以在狀態欄中顯示自定義的提示信息。
活動管理器( Activity Manager)用來管理應用程序生命週期並提供常用的導航回退功能。
系統運行庫
Android 包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。它們通過 Android 應用程序框架為開發者提供服務。以下是一些核心庫:
* 系統 C 庫 - 一個從BSD繼承來的標準C系統函數庫 Libc , 它是專門為基於Embedded linux的設備定製的。
* 媒體庫 - 基於PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄製,同時支持靜態圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
* Surface Manager - 對顯示子系統的管理,並且為多個應用程序提 供了2D3D圖層的無縫融合。
* LibWebCore - 一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。

安卓系統結構

系統內核
Android 是運行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 裏支持的功能,Android 大都沒有支持,包括CairoX11AlsaFFmpegGTKPangoGlibc等都被移除掉了。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 的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,就可以取得操作函數。
中介軟件
操作系統與應用程序的溝通橋樑,應用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的Bionic Libc。
Android採用OpenCORE作為基礎多媒體框架。Open CORE可分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本身是一個權限分立的操作系統。在這類操作系統中,每個應用都以一個系統識別身份運行(Linux用户ID與羣組ID)。系統的各部分也分別使用各自獨立的識別方式。Linux就是這樣將應用與應用,應用與系統隔離開。
系統更多的安全功能通過權限機制提供。權限可以限制某個特定進程的特定操作,也可以限制每個URI權限對特定數據段的訪問。
Android安全架構的核心設計思想是,在默認設置下,所有應用都沒有權限對其他應用、系統或用户進行較大影響的操作。這其中包括讀寫用户隱私數據(聯繫人或電子郵件),讀寫其他應用文件,訪問網絡或阻止設備待機等。
安裝應用時,在檢查程序簽名提及的權限,且經過用户確認後,軟件包安裝器會給予應用權限。從用户角度看,一款Android應用通常會要求如下的權限:
撥打電話、發送短信或彩信、修改/刪除SD卡上的內容、讀取聯繫人的信息、讀取日程信的息,寫入日程數據、讀取電話狀態或識別碼、精確的(基於GPS)地理位置、模糊的(基於網絡獲取)地理位置、創建藍牙連接、對互聯網的完全訪問、查看網絡狀態,查看WiFi狀態、避免手機待機、修改系統全局設置、讀取同步設定、開機自啓動、重啓其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。
一款應用應該根據自身提供的功能,要求合理的權限。用户也可以分析一款應用所需權限,從而簡單判定這款應用是否安全。如一款應用是不帶廣告的單機版,也沒有任何附加的內容需要下載,那麼它要求訪問網絡的權限就比較可疑。

安卓應用組件

Android開發四大組件分別是:活動(Activity): 用於表現功能。服務(Service): 後台運行服務,不提供界面呈現。廣播接收器(BroadcastReceiver):用於接收廣播。內容提供商(Content Provider): 支持在多個應用中存儲和讀取數據,相當於數據庫

安卓活動

Android 中,Activity是所有程序的根本,所有程序的流程都運行在Activity 之中,Activity可以算是開發者遇到的最頻繁,也是Android 當中最基本的模塊之一。在Android的程序當中,Activity 一般代表手機屏幕的一屏。如果把手機比作一個瀏覽器,那麼Activity就相當於一個網頁。在Activity 當中可以添加一些Button、Check box 等控件。可以看到Activity 概念和網頁的概念相當類似。
Android的應用
Android的應用(20張)
一般一個Android 應用是由多個Activity 組成的。這多個Activity 之間可以進行相互跳轉,例如,按下一個Button按鈕後,可能會跳轉到其他的Activity。和網頁跳轉稍微有些不一樣的是,Activity 之間的跳轉有可能返回值,例如,從Activity A 跳轉到Activity B,那麼當Activity B 運行結束的時候,有可能會給Activity A 一個返回值。這樣做在很多時候是相當方便的。
當打開一個新的屏幕時,之前一個屏幕會被置為暫停狀態,並且壓入歷史堆棧中。用户可以通過回退操作返回到以前打開過的屏幕。可以選擇性的移除一些沒有必要保留的屏幕,因為Android會把每個應用的開始到當前的每個屏幕保存在堆棧中。
(Android的應用圖冊圖片來源: [13] 

安卓服務

安卓不同版本圖片 安卓不同版本圖片
Service 是android 系統中的一種組件,它跟Activity 的級別差不多,但是他不能自己運行,只能後台運行,並且可以和其他組件進行交互。Service 是沒有界面的長生命週期的代碼。Service是一種程序,它可以運行很長時間,但是它卻沒有用户界面。這麼説有點枯燥,來看個例子。打開一個音樂播放器的程序,這個時候若想上網了,那麼,打開Android瀏覽器,這個時候雖然已經進入了瀏覽器這個程序,但是,歌曲播放並沒有停止,而是在後台繼續一首接着一首的播放。其實這個播放就是由播放音樂的Service進行控制。當然這個播放音樂的Service也可以停止,例如,當播放列表裏邊的歌曲都結束,或者用户按下了停止音樂播放的快捷鍵等。Service 可以在和多場合的應用中使用,比如播放多媒體的時候用户啓動了其他Activity這個時候程序要在後台繼續播放,比如檢測SD 卡上文件的變化,再或者在後台記錄地理信息位置的改變等等,總之服務嘛,總是藏在後頭的。
開啓Service有兩種方式:
(1) Context.startService():Service會經歷onCreate -> onStart(如果Service還沒有運行,則android先調用onCreate()然後調用onStart();如果Service已經運行,則只調用onStart(),所以一個Service的onStart方法可能會重複調用多次 );StopService的時候直接onDestroy,如果是調用者自己直接退出而沒有調用StopService的話,Service會一直在後台運行。該Service的調用者再啓動起來後可以通過stopService關閉Service。 注意,多次調用Context.startservice()不會嵌套(即使會有相應的onStart()方法被調用),所以無論同一個服務被啓動了多少次,一旦調用Context.stopService()或者StopSelf(),他都會被停止。補充説明:傳遞給StartService(0的Intent對象會傳遞給onStart()方法。調用順序為:onCreate --> onStart(可多次調用) --> onDestroy。
(2) Context.bindService():Service會經歷onCreate() -->onBind(),onBind將返回給客户端一個IBind接口實例,IBind允許客户端回調服務的方法,比如得到Service運行的狀態或其他操作。這個時候把調用者(Context,例如Activity)會和Service綁定在一起,Context退出了,Service就會調用onUnbind --> onDestroyed相應退出,所謂綁定在一起就共存亡了。

安卓廣播接收器

在Android 中,Broadcast是一種廣泛運用的在應用程序之間傳輸信息的機制。而BroadcastReceiver 是對發送出來的Broadcast進行過濾接受並響應的一類組件。可以使用BroadcastReceiver 來讓應用對一個外部的事件做出響應。這是非常有意思的,例如,當電話呼入這個外部事件到來的時候,可以利用BroadcastReceiver 進行處理。例如,當下載一個程序成功完成的時候,仍然可以利用BroadcastReceiver 進行處理。BroadcastReceiver不能生成UI,也就是説對於用户來説不是透明的,用户是看不到的。BroadcastReceiver通過NotificationManager 來通知用户這些事情發生了。BroadcastReceiver 既可以在AndroidManifest.xml 中註冊,也可以在運行時的代碼中使用Context.registerReceiver進行註冊。只要是註冊了,當事件來臨的時候,即使程序沒有啓動,系統也在需要的時候啓動程序。各種應用還可以通過使用Context.sendBroadcast將它們自己的Intent Broadcasts廣播給其他應用程序。

安卓內容提供

Content Provider 是Android提供的第三方應用數據的訪問方案。
在Android中,對數據的保護是很嚴密的,除了放在SD卡中的數據,一個應用所持有的數據庫、文件等內容,都是不允許其他直接訪問的 [14]  。Android當然不會真的把每個應用都做成一座孤島,它為所有應用都準備了一扇窗,這就是Content Provider。應用想對外提供的數據,可以通過派生Content Provider類, 封裝成一枚Content Provider,每個Content Provider都用一個uri作為獨立的標識,形如:content://com.xxxxx。所有東西看着像REST的樣子,但實際上,它比REST 更為靈活。和REST類似,uri也可以有兩種類型,一種是帶id的,另一種是列表的,但實現者不需要按照這個模式來做,給id的uri也可以返回列表類型的數據,只要調用者明白,就無妨,不用苛求所謂的REST。

安卓平台優勢

開放性
在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨着用户和應用的日益豐富,一個嶄新的平台也將很快走向成熟。
開放性對於Android的發展而言,有利於積累人氣,這裏的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟件資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。同時也可以通過一些第三方優化過的系統通過刷機來實現更好的用户體驗,如MIUI,Flyme等。
豐富的硬件
這一點還是與Android平台的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟件的兼容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟件帶到iPhone上使用、聯繫人等資料更是可以方便地轉移。
方便開發
Android平台提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別緻的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和遊戲如何控制正是留給Android難題之一。
Google應用
在互聯網的Google已經走過10年度歷史,從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成為連接用户和互聯網的重要紐帶,而Android平台手機將無縫結合這些優秀的Google服務。

安卓相關係統

Magic UI 6.0系統,首發於2022年1月,是Magic Live智慧引擎使能的人工智能操作系統 [20]  (搭載在榮耀Magic4系列上) [19] 

安卓相關報道

2022年5月18日消息,據 9to5 Google 報道,谷歌一直在尋求改善其移動操作系統的安全和隱私的普遍看法。谷歌最新推出了“Protected by Android”(受安卓保護)品牌,並且該品牌看起來已準備好進行更廣泛的推廣。 [24] 
參考資料
展開全部 收起