Android系统是Google公司在2008年推出的一款智能移动设备操作系统,通过不断地版本迭代,目前已经推出到Android 11版本了。Android系统广泛应用在手机、平板、电视等各种电子设备上,已经成为全球第一大智能移动操作系统。
下面我们就先看看Android系统的框架
Android系统被分为了5层,从上到下依次为:
APP层
顾名思义,这一层就是应用层,无论是系统预置应用还是从应用商店下载安装的应用都运行在这一层,目前大部分的Android开发者都集中在这一层,主要为各种Android设备开发各种应用APP。
Framework层
这一层就是系统框架层,主要运行着系统的各种服务,例如ActivityManagerService,PackageManagerService等,以及对APP提供各种标准接口。对APP开发的人来说需要熟悉各种系统API接口,对系统开发的人来说,需要熟悉系统服务的运行机制。
本地C/C++库和Android虚拟机层
Android 5.0(API 21)之前使用的是Dalvik虚拟机,之后被ART所取代。
ART是Android操作系统的虚拟机运行环境,通过运行虚拟机来执行dex文件。其中,dex文件是专为Android设计的的字节码格式。
C/C++库层就是为虚拟器和Framework层服务运行提供必需的依赖库。
HAL硬件抽象层
硬件抽象层是用来隔离底层硬件的,它对上提供标准的硬件操作接口,让Android系统不用在意底层使用的是什么硬件。
Linux驱动层
Linux驱动层主要和硬件打交道,硬件驱动、进程管理、内存管理、网络管理等功能在这里实现。底层驱动开发人员必需熟悉该层的业务逻辑和原理。