設備驅動程序層(Linux Kernel):該層主要包括:驅動、內存管理、進程管理、網絡協議等組件。java
執行層c/c++函數庫層(Libraries)及Android Runtime:c++
Java不能直接訪問硬件,要訪問硬件,必須使用NDK。NDK是由c/c++語言編寫的庫(.so文件),該層是對應用程序框架層提供支持的層。瀏覽器
SSL:Secure Sockets Layer安全套接字層安全
libc:C運行時庫網絡
WebKit:負責瀏覽器支持(Chrome和Safari都使用該庫來支持瀏覽器)app
FreeType:負責字體支持框架
Dalvik是冰島一個小鎮的名字。Dalvik VM獲取生成的java類文件,將它們組合爲一個或者多個、Dalvik可執行文件(.dex)。Dalvik VM的目標是找到全部可能的方式來優化JVM性能、內存及電池壽命。ide
採用Dalvik VM的一個結果是,Android中最終的可執行程序代碼不是java字節碼,而是.dex文件。這意味着沒法直接執行java字節碼,必須獲得java的類文件,而後將它們轉換爲.dex文件。函數