Android作業系統是一堆軟體元件,大致分為五個部分,四個主要的層次,如下圖所示。
底層是Linux - Linux 3.6,大約有115個修補程式。 這提供了裝置硬體之間的抽象級別,它包含了所有必要的硬體驅動程式,如相機,鍵盤,顯示器等。此外,核心還處理Linux真正擅長的所有事情,例如網路連線和大量裝置驅動程式 ,這消除了與外設硬體介面的痛苦。
在Linux核心之上,有一套庫,包括開源Web瀏覽器引擎WebKit,眾所周知的庫libc,SQLite資料庫,它是儲存和共用應用程式資料的有用儲存庫,播放和記錄音訊和視訊的庫,SSL 負責網際網路安全的類庫。
這個類別包含那些特定於Android開發的基於Java的庫。 此類庫中的範例包括除了便於使用者介面構建,圖形繪製和資料庫存取的應用程式框架庫之外的應用程式框架庫。 Android開發人員可以使用的一些關鍵核心Android庫的總結如下 -
在Android執行時覆蓋了基於Java的核心庫之後,現在是把注意力轉向Android軟體棧這一層包含的基於C/C++的庫。
這是架構的第三部分,可以從底部的第二層獲得。 本節提供了一個名為Dalvik虛擬機器 的關鍵元件,它是一種專為Android設計和優化的Java虛擬機器。
Dalvik VM利用Linux核心特性,如記憶體管理和多執行緒,這在Java語言中是固有的。 Dalvik虛擬機器使每個Android應用程式都能在自己的進程中執行,並擁有自己的Dalvik虛擬機器範例。
Android執行時還提供了一組核心庫,使Android應用程式開發人員可以使用標準Java程式設計語言編寫Android應用程式。
應用程式框架層以Java類的形式向應用程式提供了許多更高階別的服務。 應用程式開發人員可以在他們的應用程式中使用這些服務。
Android框架包含以下關鍵服務 -
在頂層是所有的Android應用程式。編寫的應用程式來安裝在這個圖層上。 這樣的應用程式的例子是聯絡人,瀏覽器,遊戲等。