commit | acdf2ff5331cdd2abc7096939c0da9ed4efe405e | [log] [tgz] |
---|---|---|
author | Steven Moreland <smoreland@google.com> | Thu Jun 02 17:53:01 2022 +0000 |
committer | Steven Moreland <smoreland@google.com> | Tue Jun 07 23:44:58 2022 +0000 |
tree | 3b54431e76503446018fc64261d0f044ced8f106 | |
parent | 30a856cd47eb47c68e8672fb3e3ff17d842df58a [diff] |
All hidl interfaces min sdk version 29 Reported as a common issue for downstream to need to change this global list. There is no need to restrict these interfaces. All will work at SDK level 29. Interfaces that exist at different API levels are left unchnaged in order to avoid needing to change allowed_deps.txt Fixes: 235253672 Test: build Change-Id: Ic5a466c8b4804a1844f218b41291f2b2233ea370
Full documentation can be found here: https://source.android.com/devices/architecture/hidl/
hidl-gen is a compiler for the HIDL (HAL Interface Design Language) which generates C++ and Java endpoints for RPC mechanisms. The main userspace libraries which this compiler uses can be found at system/libhidl.
m hidl-gen
Note that options for hidl-gen expected to be invoked by the build system are marked with ‘internal’ in the help menu.
hidl-gen -h hidl-gen -o output -L c++-impl -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0
Some defaults for package roots are also provided
hidl-gen -o output -L c++-impl android.hardware.nfc@1.0 hidl-gen -o output -L vts android.hardware.nfc@1.0 hidl-gen -L hash android.hardware.nfc@1.0
Example command for vendor project
hidl-gen -L c++-impl -r vendor.foo:vendor/foo/interfaces vendor.foo.nfc@1.0
See update-makefiles-helper.sh and update-all-google-makefiles.sh for examples of how to generate HIDL makefiles (using the -Landroidbp option).
NOTE: When using the -Landroidbp option, you can force generated modules to be installed in
/system_ext
rather than other partition by putting a marker file.hidl_for_system_ext
alongside*.hal
files.
NOTE: You can also install the vendor variant of the generated modules to be installed in
/odm
rather than/vendor
by putting a marker file.hidl_for_odm
alongside*.hal
files.
This is a helper tool to convert C headers to valid .hal files.
m c2hal && c2hal -h