的正式版,而且推出了搭載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月份,谷歌正式發佈了
2011年1月,谷歌稱每日的Android設備新用戶數量達到了30萬部,到2011年7月,這個數字增加到55萬部,而Android系統設備的用戶總數達到了1.35億,Android系統已經成爲智能手機領域佔有量最高的系統。
2013年11月1日,Android4.4正式發佈,從具體功能上講,Android4.4提供了各類實用小功能,新的Android系統更智能,添加更多的Emoji表情圖案,UI的改進也更現代,如全新的HelloiOS7半透明效果。
2018年10月,谷歌表示,將於2018年12月6日中止Android系統中的Nearby Notifications(附近通知)服務,由於Android用戶收到太多的附近商家推銷信息的垃圾郵件。
[8]
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 - 對顯示子系統的管理,而且爲多個應用程序提 供了
2D和
3D圖層的無縫融合。
系統內核
Android 是運行於Linux kernel之上,但並非
GNU/Linux。由於在通常GNU/Linux 裏支持的功能,Android 大都沒有支持,包括
Cairo、
X11、
Alsa、
FFmpeg、
GTK、
Pango及
Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以
opencore取代
FFmpeg等等。Android 爲了達到商業應用,必須移除被GNU GPL受權證所約束的部份,例如Android將驅動程序移到 Userspace,使得Linux driver 與 Linux kernel完全分開。Bionic/Libc/Kernel/ 並不是標準的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣作是爲了保留常數、數據結構與宏。
Android 的 Linux kernel控制包括安全(
Security),存儲器管理(Memory Management),程序管理(Process Management),網絡堆棧(Network Stack),
驅動程序模型(Driver Model)等。下載Android源碼以前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工做的一個工具。
開放性
在優點方面,Android平臺首先就是其開放性,開發的平臺容許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可使其擁有更多的開發者,隨着用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。
開放性對於Android的發展而言,有利於積累人氣,這裏的人氣包括消費者和廠商,而對於消費者來說,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將能夠用更低的價位購得心儀的手機。
豐富的硬件
這一點仍是與Android平臺的開放性相關,因爲Android的開放性,衆多的廠商會推出千奇百怪,功能特點各具的多種產品。功能上的差別和特點,卻不會影響到數據同步、甚至軟件的兼容,如同從
諾基亞
Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟件帶到
iPhone上使用、聯繫人等資料更是能夠方便地轉移。
方便開發
Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各類條條框框的阻擾,可想而知,會有多少新穎別緻的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和遊戲如何控制正是留給Android難題之一。
Google應用
在互聯網的Google已經走過10年度歷史,從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成爲鏈接用戶和互聯網的重要紐帶,而Android平臺手機將無縫結合這些優秀的Google服務。