Android Hal AIDL 简介 (一)
Android 接口定义语言 (AIDL) 是一款可供用户用来抽象化 IPC 的工具。
以在 .aidl
文件中指定的接口为例,各种构建系统都会使用 aidl
二进制文件构造 C++ 或 Java 绑定,以便跨进程使用该接口(无论其运行时环境或位数如何)。
AIDL 可以在 Android 中的任何进程之间使用:在平台组件之间使用或在应用之间使用均可.
以下是一个 AIDL 接口示例:
package my.package;
import my.package.Baz; // defined elsewhere
interface IFoo {
void doFoo(Baz baz);
}
服务器进程注册接口并提供对它的调用,客户端进程则调用这些接口。
在许多情况下,进程既是客户端又是服务器,因为它可能会引用多个接口。
工作原理
AIDL 使用 Binder 内核驱动程序