HIDL 语法 HIDL语言类似于C(但不使用C预处理器)
/* / 表示文档注释. /* */ ?表示文档多行注释. // ?表示在一行结束后注释 [empty] 表明当前项的值为空 ? 放置在项前,表明该项为可选项. … 表明该序列包含0个或多个如前述使用分隔符隔开的项 , 逗号用于分隔序列中的元素 ; 分号用于标记每个元素的结束位置. @entry 当前HAL模块被使用时应当被最先调用的接口 @exit 当前HAL模块被调用时应当被最后调用的接口 @callflow(next={“name_a”, “name_b”, “name_c”}) 当前接口被调用后可能被调用的接口列表。其中name_a接口被调用的概率最大,name_c接口被调用的概率最小。如果只存在1个可能被调用的接口,那么花括号{ }可以省略不写。如果给定的接口名无效,则会导致VTS编译失败。 @callflow(next={“*”}) 当前接口被调用后可能会调用任意接口
usage: hidl-gen [-p <root path>] -o <output path> -L <language> (-r <interface root>)+ [-t] fqname+
?-r <package:path root>: E.g., android.hardware:hardware/interfaces.
hidl-gen F 07-15 17:59:31 23162 23162 Coordinator.cpp:211] Check failed: ret != mPackageRoots.end() Unable to find package root for vendor.rockchip.hardware.bk9531@1.0
hidl-gen -o vendor/rockchip/hardware/interfaces/bk9531/1.0/default -Lc++-impl ?-r rockchip.hardware:vendor/rockchip/hardware/interfaces -r android.hidl:system/libhidl/transport rockchip.hardware.bk9531@1.0
如果将package 放在Vendor目录下,对应的修改
|