簡介
Android作業系統,和iOS一樣,都是目前智慧型手機主流的作業系統之一。
歷史由來
Android早期是由Android Inc.公司於2003年10月開始開發。起初是為了建立一套數位相機上使用的作業系統,但由於智慧型手機的快速發展,因此更改方向,變成一套智慧型手機使用的作業系統。
後來Google因為要發展自己的智慧型手機系統,藉此建立自己的服務平台,因此在2005年7月11將Android Inc.收購。Android也因此變成Google旗下的軟體產品之一。
在收購Android的兩年後,Google與多家硬體製造商、軟體商、電信商成立了開放手機聯盟來共同研發Android。且Google在之後以Apache License的方式將Android開源。因此加速了Android的普及,讓所有的手機廠商都能推出自己的Android手機。
系統支援
Android支援ARM及X86架構,其中以ARM架構作為主要硬體平台。
Android除了支援在手機、平板電腦上運作外,中國也有廠商開發出基於Android系統的Netbook、甚至是Android的模擬器等產品。
Android的軟體架構
講到這裡不免俗的來個Android的系統架構圖,由上到下分別為:
- 應用程式層
- 應用程式框架層
- 系統函式庫層
- Linux核心
如下圖所示:
應用程式層
Android作業系統本身內建簡訊、撥號、相簿、網頁瀏覽器等應用程式,同時也支援安裝應用程式來擴充功能。
這些應用程式通常是由Java語言開發而成的,且內建的應用程式是可以被其他開發者開發的應用程式替換的。
和iOS相比,Android具有靈活且非常具有個人化風格的特性。
應用程式框架層
應用程式框架層提供了許多應用程式開發時會用到的一些服務及介面,例如活動管理、視窗管理、通信管理、資源管理、位置管理、內容提供等。這些框架都是基於Java開發的。
透過Android提供的應用程式框架,我們可以直接使用他提供的服務來實現撥打電話或傳簡訊、取得相簿內的照片或影片、推播通知訊息、GPS定位等功能。此外,Android內建的應用程式也是透過應用程式框架層提供的服務來實作的。
系統函式庫層
系統函式庫其實分為兩個部分,一個是負責支援應用程式框架層提供服務的Library部分、另一個則是Android的執行環境。
Library的部分提供了應用程式框架層所需要的核心元件,這些核心元件都是透過C/C++編寫而成的。
並透過應用程式框架層轉換成Java API提供給應用程式使用。
Android執行環境是由Dalvik虛擬機及Java核心函數庫組成。由於Java應用程式的可被移植性,因此Java的應用程式都是在Java虛擬機(JVM)的環境下執行。而Dalvik則是Google在Android作業系統上實作的JVM虛擬機。
Linux核心
Android是基於Linux核心發展的作業系統,Linux核心在系統中扮演的角色是負責提供系統的核心服務(例如:記憶體管理、處理序管理、執行緒、網路、電源管理)、以及和硬體的溝通介面(例如:硬體的驅動程式)等功能。
Android 的版本演進
名稱 | 版本號碼 | 發行日期 | API等級 | 新增功能 |
---|---|---|---|---|
Android 1.0 | 1.0 | 2008年9月23日 | 1 | Android的第一個正式版本 |
Android 1.1 | 1.1 | 2009年2月9日 | 2 | 修正Bug,並增加下列功能
|
Android Cupcake | 1.5 | 2009年4月27日 | 3 |
|
Android Donut | 1.6 | 2009年9月15日 | 4 |
|
Android Eclair | 2.0 – 2.1 | 2009年10月26日 | 5 – 7 |
|
Android Froyo | 2.2 – 2.2.3 | 2010年5月20日 | 8 |
|
Android Gingerbread | 2.3 – 2.3.7 | 2010年12月6日 | 9 – 10 |
|
Android Honeycomb | 3.0 – 3.2.6 | 2011年2月22日 | 11 – 13 |
|
Android Ice Cream Sandwich | 4.0 – 4.0.4 | 2011年10月18日 | 14 – 15 |
|
Android Jelly Bean | 4.1 – 4.3.1 | 2012年7月9日 | 16 – 18 |
|
Android KitKat | 4.4 – 4.4.4 | 2013年10月31日 | 19 – 20 |
|
Android Lollipop | 5.0 – 5.1.1 | 2014年11月12日 | 21 – 22 |
|
以上則是Android系統的簡單介紹及版本演進,如需更詳細的資料請參閱Google Developers、維基百科等網站。