蓝牙模块的HIDL是如何实现的?

How is HIDL implemented for Bluetooth module?

我正在浏览 AOSP 蓝牙代码以进一步了解 HIDL

据我了解,HIDL 提供了 System servicesHAL layer 之间的接口。

但是根据官方 android 文档 here ,似乎 HIDLbluetooth stack(/system/bt) 和蓝牙固件实现之间的接口。

HIDL 不应该存在于蓝牙进程服务和蓝牙堆栈之间吗? 我在这里遗漏了什么吗?

我猜你的理解是基于图中的2和3,但你贴在这里的图是基于4的,你不需要HAL层。供应商可以只实现 HIDL 接口。

你要问的问题是整个蓝牙堆栈的哪些部分可以由Android提供,哪些部分必须由hardware/device制造商提供。

Google 可能决定他们只需要 hardware/device 制造商提供蓝牙 HIDL 接口中描述的内容,并且他们在 Android 框架中提供堆栈的其余部分.