从上至下的介绍一下Android系统框架,如下:
1、system apps层

2、framework层

3、C/C++库层,其中NDK是一系列工具的集合,能将so和java打包成apk。

4、HAL层
这一层是为了规避linux内核GPL协议,保护硬件厂商的技术,不去外露,把硬件操作逻辑放在HAL层,在HAL层把代码编译成库,对外提供接口。硬件设备的驱动以及重要参数的配置不开源。驱动开源不可避免,提供ioctl接口,配置设备,传参数在HAL层往下传,寄存器写的值是多少不到驱动,而是在HAL层传进来。

5、linux内核层

|