一直以来,供应商进程都使用 Binder 进程间通信 (IPC) 技术进行通信。在 Android O 中,/dev/binder
设备节点成为了框架进程的专属节点,这意味着供应商进程将无法再访问该节点。供应商进程可以访问 /dev/hwbinder
,但必须将其 AIDL 接口转为使用 HIDL。对于想要继续在供应商进程之间使用 AIDL 接口的供应商,Android 会按以下方式支持 Binder IPC。
vndbinder
Android O 支持供应商服务使用新的 Binder 域,这可通过使用 /dev/vndbinder
(而非 /dev/binder
)进行访问。添加/dev/vndbinder
后,Android 现在拥有以下 3 个 IPC 域:
IPC 域 | 说明 |
---|---|
/dev/binder |
框架/应用进程之间的 IPC,使用 AIDL 接口 |
/dev/hwbinder |
框架/供应商进程之间的 IPC,使用 HIDL 接口 供应商进程之间的 IPC,使用 HIDL 接口 |
/dev/vndbinder |
供应商/供应商进程之间的 IPC,使用 AIDL 接口 |
为了显示 /dev/vndbinder
,请确保内核配置项 CONFIG_ANDROID_BINDER_DEVICES
设为"bi