sonyxperiadev / device-sony-common

70 stars 141 forks source link

[S] common-treble: Provide radio, keymaster and secure_element HAL on vendor #868

Closed MarijnS95 closed 2 years ago

MarijnS95 commented 2 years ago

Depends on #867 and rebase of r-mr1 on s-mr1

In 1 Google removed many HIDL HAL libraries from VNDK, causing them to only be installed to the system partition. This is inaccessible for vendor apps and results in the usual:

linker  : CANNOT LINK EXECUTABLE "/odm/bin/hw/vendor.somc.hardware.modemswitcher@1.0-service": library "android.hardware.radio.config@1.0.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)
linker  : CANNOT LINK EXECUTABLE "/odm/bin/hw/android.hardware.keymaster@4.0-service-qti": library "android.hardware.keymaster@4.0.so" not found: needed by main executable
linker  : CANNOT LINK EXECUTABLE "/odm/bin/hw/android.hardware.keymaster@4.0-service-qti": library "android.hardware.keymaster@4.1.so" not found: needed by /odm/lib64/libqtikeymaster4.so in namespace (default)
linker  : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.secure_element@1.1.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)
linker  : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.secure_element@1.2.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default)

These libraries are listed in common-treble because they're used by ODM apps but have no explicit vendor dependency (ie. a binary placed on /vendor) to put them in a vendor-available space. The default is to include system variants which is why the dependencies have to be suffixed with .vendor so that they're shipped in /vendor and are available for our ODM blobs even on GSIs.

jerpelea commented 2 years ago

cherry-picked