Android——架構和源碼包介紹

1. 說到Android的架構,你們第一眼想到的可能都是下面這張衆所周知的圖java

(1) 應用程序層(applications):應用程序層主要是一些核心的應用程序包,好比電話,短信,地圖,電子郵件等等。對應的源碼包在 packages/apps 下,裏面包含了各類應用程序的源碼linux

(2) 應用框架層(application framework):這層是Android應用開發的基礎,包含了視圖管理器,電話管理器,等等,也提供了Android的四大組件。這個層主要就是提供了相似與各類組件使用的API。對應的源碼直接在 frameworks 下,裏面包含了base包,包含了framework的一些基礎的代碼,大量使用C++編寫android

(3) 系統庫層:該層主要由兩部分組成,一個是系統庫,一個是android運行時。安全

    android運行時比較簡單,主要包括了核心庫以及Dalvik虛擬機,核心庫包含了大多數java語言須要的功能函數,同時包含了Android的核心庫。Dalvik虛擬機主要完成了對生命週期的管理,線程的管理,堆棧的管理,垃圾回收機制以及相應的安全和異常的管理網絡

    系統庫主要包含了9個子系統,就是上圖所示的系統架構

    android運行時中的core libraries對應的源碼包在根目錄下的libcoreapp

    android下的Dalvik虛擬機對應的源碼包在根目錄下的dalvik框架

    系統庫對應的源碼包是根目錄下的bionicionic

(4) linux內核層:Android的核心繫統服務都是依賴與linux內核的,好比內存,進程等的管理,驅動模型以及網絡協議棧。內核層也是硬件和軟件的抽象層,一些驅動,好比顯卡,鍵盤,攝像頭,wifi等等函數

該層對應的源碼是在根目錄下的kernel中

硬件抽象層(HAL)則對應的是根目錄下的hardware

 

更加詳細的目錄能夠去看這個博客:http://blog.csdn.net/fengliang191/article/details/40678731

相關文章
相關標籤/搜索