Add apex_defaults for consumerir HAL APEX
The IR HAL APEX can be defined by inheriting the default one. Note that HAL in APEX can't load a legacy libhardware module from /vendor/lib/hw. Instead, it tries to load the hardware module from the APEX. Hence, the APEX inheriting this should embed it along with the HAL binary. Bug: 300011390 Test: ConsumerIrTest VtsHalIrTargetTest hal_implementation_test Change-Id: I14ab4a7e52195f630aa394f74a3f2852f6007ecc
This commit is contained in:
parent
bddf425784
commit
367dbf3ac1
4 changed files with 59 additions and 2 deletions
|
@ -36,8 +36,58 @@ cc_binary {
|
|||
"liblog",
|
||||
"libutils",
|
||||
"android.hardware.ir-V1-ndk",
|
||||
"libhardware"
|
||||
"libhardware",
|
||||
],
|
||||
|
||||
srcs: ["main.cpp"],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "android.hardware.ir-service.example.rc",
|
||||
src: ":gen-android.hardware.ir-service.example.rc",
|
||||
installable: false,
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "gen-android.hardware.ir-service.example.rc",
|
||||
srcs: ["android.hardware.ir-service.example.rc"],
|
||||
out: ["android.hardware.ir-service.example.apex.rc"],
|
||||
cmd: "sed -e 's@/vendor/bin/@/apex/com.android.hardware.ir/bin/@' $(in) > $(out)",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "android.hardware.ir-service.example.xml",
|
||||
src: "android.hardware.ir-service.example.xml",
|
||||
sub_dir: "vintf",
|
||||
installable: false,
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "com.android.hardware.ir_file_contexts",
|
||||
srcs: ["apex_file_contexts"],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "com.android.hardware.ir_apex_manifest.json",
|
||||
srcs: ["apex_manifest.json"],
|
||||
}
|
||||
|
||||
apex_defaults {
|
||||
name: "com.android.hardware.ir",
|
||||
// Reference to the filegroup instead of direct path since
|
||||
// paths in defaults don't work in a different directory.
|
||||
file_contexts: ":com.android.hardware.ir_file_contexts",
|
||||
manifest: ":com.android.hardware.ir_apex_manifest.json",
|
||||
|
||||
updatable: false,
|
||||
vendor: true,
|
||||
|
||||
binaries: [
|
||||
"android.hardware.ir-service.example",
|
||||
],
|
||||
prebuilts: [
|
||||
"android.hardware.ir-service.example.rc",
|
||||
"android.hardware.ir-service.example.xml",
|
||||
"android.hardware.consumerir.prebuilt.xml", // feature
|
||||
],
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
service vendor.ir-default /vendor/bin/hw/android.hardware.ir-service.example
|
||||
service vendor.ir-default /apex/com.android.hardware.ir/bin/hw/android.hardware.ir-service.example
|
||||
class hal
|
||||
user system
|
||||
group system
|
||||
|
|
3
ir/aidl/default/apex_file_contexts
Normal file
3
ir/aidl/default/apex_file_contexts
Normal file
|
@ -0,0 +1,3 @@
|
|||
(/.*)? u:object_r:vendor_file:s0
|
||||
/etc(/.*)? u:object_r:vendor_configs_file:s0
|
||||
/bin/hw/android\.hardware\.ir-service\.example u:object_r:hal_ir_default_exec:s0
|
4
ir/aidl/default/apex_manifest.json
Normal file
4
ir/aidl/default/apex_manifest.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"name": "com.android.hardware.ir",
|
||||
"version": 1
|
||||
}
|
Loading…
Reference in a new issue