HIDL 是围绕接口进行编译的,接口是面向对象的语言使用的一种用来定义行为的抽象类型。每个接口都是软件包的一部分。
软件包
软件包名称可以具有子级,例如 package.subpackage
。已发布的 HIDL 软件包的根目录是 hardware/interfaces
或 vendor/vendorName
(例如 Pixel 设备为 vendor/google
)。软件包名称在根目录下形成一个或多个子目录;定义软件包的所有文件都位于同一目录下。例如,package android.hardware.example.extension.light@2.0
可以在 hardware/interfaces/example/extension/light/2.0
下找到。
例如:
package android.hardware.nfc@1.0;
import INfcClientCallback;
interface INfc {
@entry
@callflow(next={"write", "coreInitialized", "prediscover", "powerCycle", "controlGranted"})