创建自定义 Android ROM

Creating a Custom Android ROM

我正准备构建一个自定义 Android ROM,我遇到了一些误解,在继续之前我需要澄清这些误解。我的 Android ROM 将更名,我想自定义 OS 堆栈,但我不确定我是否完全理解 HAL(硬件抽象层)的概念。我知道我可以创建内核模块来扩展 OS 但我不确定堆栈中的 HAL 用途是什么。 HAL 和内核如何交互?

什么是 HAL? HAL 什么时候实现?

我正在查看的堆栈的另一层是 Android 系统服务层。是否可以在堆栈上添加/修改系统服务?如果是这样,我是否需要为要从应用程序框架调用的系统服务创建一个 Binder IPC?

我已经阅读了 AOSP 网站上的文档,但这是我误解的来源。

如果有人能帮助我克服这些缺点,我将不胜感激!

好的,所以我可以回答你关于 HAL 的问题,但不会回答关于搞乱 Android 服务的问题。

HAL 基本上是 Linux 系统上 /dev 目录中的所有文件。当您写入时,这些文件与内核 module/driver 通信。这基本上,如果您要写入的特定设备的驱动程序允许它,则允许您从非常高的级别与设备进行通信。查看有关编写内核模块和 udev 的基本教程。但是,在构建 Android 的情况下,除非您正在制作自定义内核和其他东西,否则您可能不必弄乱它并彻底了解它。