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