一‧Android的來源:
Google 併購 Android 公司後所推出的手機平台,採用 Linux 為作業系統。所以系統程式包含了 C 語言的標準函式庫,但應用程式主要以Java語言在Dalvik VM虛擬機器執行,應用程式開發環境以Eclipse為主,加上 Android Development Tools (ADT) Plugin。
二‧Android的目的:
Android平台的主旨是提供一個應用程式架構(application framework),好讓各家OEM業者可不須從頭進行軟體開發,就能推出一系列的Android平台手機。
三‧Android的結構
Android本身是一套軟體堆疊(Software Stack),或稱為「軟體疊層架構」,疊層主要分成三層:作業系統、中介軟體(Middleware)、應用程式。想開發可在Android平台執行的應用程式,必須用Java程式語言撰寫才行。
(中介軟體,凡是介於作業系統與應用程式間的,多概稱為中介軟體,Android的中介軟體可再細分出兩層,底層為函式庫(Library)及虛擬機器(Virtual Machine;VM),上層為應用程式框架(Application Framework)。)
各層的功用:
應用程式層(Applications)
Android出貨時整套的應用程式將會包含了有電子郵件程式,短訊程式,日曆,地圖,瀏覽器,通訊程式...等等。所有的應用程式皆必需以Java的程式語言撰寫。
應用程式框架層(Application Framework)
程式設計師在寫應用程式時可以完整的存取使用統一的應用程式標準介面,這個應用程式框架的架構是可以很容易的去重覆使用各個原件,所有的應用程式都可以提供出它自己本身的特殊功能,所有的應用程式也可以較容易的去使用其它程式的特殊功能。這樣子的統一機制,有助於開發者去改寫自己新的軟體原件。
Android Architecture簡介 2c0c6ba7
函式庫層(Libraries)
Android所有豐富多樣的元件皆是由C/C++函式庫所組成,但Android所有的應用程式皆必需經由API來使用這些功能。
執行層(Android Runtime)
Android 雖然用Java程式語言來開發、撰寫應用程式,但卻不使用一般大家目前在用的Java Runtime(J2ME)版本來執行Java程式,而是用Android自有的Android Runtime來執行。(Android Runtime包含兩個核心。)
作業系統層(Linux Kernel)
Android平台的作業系統用的是Linux,其核心版本為2.6版,Android所用的Linux核心,其包含的功效包括:安全(Security)、記憶體管理(Memory Management)、行程管理(Process Management)、網路堆疊(Network Stack,大陸方面稱為:網絡堆棧)、驅動程式模型(Driver Model)等,另外也在前述的軟體堆疊與硬體間建立起一個抽象層(Abstraction Layer)。