书到没见过,只有一些资料而已:
Android HAL层即硬件抽象层是Google响应厂家“希望不公开源码”的要求推出的概念
1,源代码和目标位置
源代码: /hardware/libhardware目录,该目录的目录结构如下:
/hardware/libhardware/hardware.c编译成libhardware.so,目标位置为/system/lib目录
Android.mk中lib文件默认使用LOCAL_MODULE_PATH是等于TARGET_OUT_SHARED_LIBRARIES的。
/hardware/libhardware/include/hardware目录下包含如下头文件:
hardware.h 通用硬件模块头文件hw_module_t和hw_get_module_by_class的定义
copybit.h copybit模块头文件
gralloc.h gralloc模块头文件
lights.h 背光模块头文件
overlay.h overlay模块头文件
qemud.h qemud模块头文件
sensors.h 传感器模块头文件
/hardware/libhardware/modules目录下定义了很多硬件模块
这些硬件模块都编译成xxx.xxx.so,目标位置为/system/lib/hw目录