1.大體:共有四層,系統應用層,JAVA API層,安卓系統運行層,Linux內核層
具體:
系統應用層(System Apps)
Java API 框架層(Java API Framework)
Android系統運行層(包括Android Runtime和原生態的C/C++庫 Native C/C++ Libraries)
硬件抽象層HAL(Hardware Abstraction Layer)
Linux內核層(Linux Kernel)
2.功能:
Linux內核:
Android是基于Linux內核的
硬件抽象層HAL
以封閉源碼形式提供硬件驅動模塊,把Android framework與Linux Kernel隔開
安卓系統運行層
1.Android Runtime(ART)
每個Java程序都運行在ART虛擬機上,每個應用都在自己的進程中運行,并且有自己的ART實例.
編譯工具鏈將Java源代碼編譯為DEX字節碼,使其可以在Android平臺上運行.
2.原生C/C++庫
通過C或者C++庫為Android系統提供主要的特性支持,可以使用 Android NDK 直接從訪問某些原生態庫。
Java API框架層
這一層主要提供了構建應用程序時可能用到的各種API,開發者通過這一層的API構建自己的APP,這一層也是APP開發人員必須要掌握的內容。
系統應用層
所有安裝在手機上的系統應用都屬于這一層,用戶自己開發的應用也屬于這一層。
參考來源
https://blog.csdn.net/salary/article/details/82177546