HIDL最全编译流程

想了解HIDL介绍的可以参考《HIDL概述》,本篇文章主要介绍HIDL的详细编译流程及简单的客户端应用(C++跟Android客户端的应用)。

一、准备工作

  1. 整一套源码,Android O或者Android P的
  2. 保证全套代码已经全编译,原生代码全编译命令
  • source build/envset.sh
  • lunch
  • make

   3、hidl-gen工具已经安装,安装命令

  • make hidl-gen 

二、hidl-gen工具介绍

系统定义的所有的.hal接口,都是通过hidl-gen工具转换成对应的代码。hidl-gen源码路径:system/tools/hidl,是在ubuntu上可执行的二进制文件。

使用方法:hidl-gen -o output-path -L language (-r interface-root) fqname

例子:

      hidl-gen -o hardware/interfaces/gunder/1.0/default/ -Lc++-impl -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gunder@1.0

参数说明:

  • -L 语言类型,包括c++, c++-headers, c++-sources, export-header, c++-impl, java, java-constants, vts, makefile, androidbp, androidbp-impl, hash等。hidl-gen可根据传入的语言类型产生不同的文件。
  • fqname 完全限定名称的输入文件。比如本例中android.hardware.gunder@1.0,要求在源码目录下必须有hardware/interfaces/ gunder /1.0/目录。对于单个文件来说,格式如下:package@version::fileName,比如android.hardware. gunder @1.0::types.Feature。对于目录来说。格式如下package@version比如android.hardware. gunder @1.0
  • -r 格式package:path,可选,对fqname对应的文件来说,用来指定包名和文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值