Add CAS HAL APEX
The new apex replaces android.hardware.cas-service.example. Bug: 297467514 Test: atest CtsMediaMiscTestCases:MediaCasTest Change-Id: I802ab0fe8ffbefd6c1ff9343f6046701fa94029f
This commit is contained in:
parent
01fc1b7279
commit
4fb30ff596
5 changed files with 61 additions and 10 deletions
|
@ -26,6 +26,7 @@ cc_library_static {
|
|||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"libvndksupport",
|
||||
],
|
||||
static_libs: [
|
||||
"libaidlcommonsupport",
|
||||
|
@ -43,34 +44,39 @@ cc_defaults {
|
|||
|
||||
srcs: ["service.cpp"],
|
||||
|
||||
stl: "c++_static",
|
||||
static_libs: [
|
||||
"android.hardware.cas-V1-ndk",
|
||||
"android.hardware.common-V2-ndk",
|
||||
"libaidlcommonsupport",
|
||||
"libbase",
|
||||
"libcasexampleimpl",
|
||||
"libcutils",
|
||||
"libutils",
|
||||
],
|
||||
shared_libs: [
|
||||
"android.hardware.cas-V1-ndk",
|
||||
"libbase",
|
||||
"libbinder_ndk",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"libvndksupport",
|
||||
],
|
||||
header_libs: ["media_plugin_headers"],
|
||||
vintf_fragments: ["android.hardware.cas-service.xml"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "android.hardware.cas-service.example",
|
||||
defaults: ["cas_service_example_defaults"],
|
||||
init_rc: ["cas-default.rc"],
|
||||
// Installed in APEX
|
||||
installable: false,
|
||||
}
|
||||
|
||||
// TODO(b/297467514) Convert to VAPEX
|
||||
cc_binary {
|
||||
name: "android.hardware.cas-service.example-lazy",
|
||||
defaults: ["cas_service_example_defaults"],
|
||||
init_rc: ["cas-default-lazy.rc"],
|
||||
vintf_fragments: ["android.hardware.cas-service.xml"],
|
||||
cflags: ["-DLAZY_SERVICE"],
|
||||
overrides: ["android.hardware.cas-service.example"],
|
||||
overrides: ["com.android.hardware.cas"],
|
||||
}
|
||||
|
||||
cc_fuzz {
|
||||
|
@ -84,6 +90,7 @@ cc_fuzz {
|
|||
"android.hardware.cas-V1-ndk",
|
||||
"libcutils",
|
||||
"liblog",
|
||||
"libvndksupport",
|
||||
],
|
||||
static_libs: [
|
||||
"libaidlcommonsupport",
|
||||
|
@ -94,3 +101,34 @@ cc_fuzz {
|
|||
componentid: 1344,
|
||||
},
|
||||
}
|
||||
|
||||
apex {
|
||||
name: "com.android.hardware.cas",
|
||||
manifest: "manifest.json",
|
||||
file_contexts: "file_contexts",
|
||||
key: "com.android.hardware.key",
|
||||
certificate: ":com.android.hardware.certificate",
|
||||
updatable: false,
|
||||
vendor: true,
|
||||
|
||||
binaries: [
|
||||
"android.hardware.cas-service.example",
|
||||
],
|
||||
prebuilts: [
|
||||
"cas-default.rc",
|
||||
"android.hardware.cas-service.xml",
|
||||
],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "cas-default.rc",
|
||||
src: "cas-default.rc",
|
||||
installable: false,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "android.hardware.cas-service.xml",
|
||||
src: "android.hardware.cas-service.xml",
|
||||
sub_dir: "vintf",
|
||||
installable: false,
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "SharedLibrary.h"
|
||||
#include <dlfcn.h>
|
||||
#include <utils/Log.h>
|
||||
#include <vndksupport/linker.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
|
@ -26,12 +27,12 @@ namespace hardware {
|
|||
namespace cas {
|
||||
|
||||
SharedLibrary::SharedLibrary(const String8& path) {
|
||||
mLibHandle = dlopen(path.c_str(), RTLD_NOW);
|
||||
mLibHandle = android_load_sphal_library(path.c_str(), RTLD_NOW);
|
||||
}
|
||||
|
||||
SharedLibrary::~SharedLibrary() {
|
||||
if (mLibHandle != NULL) {
|
||||
dlclose(mLibHandle);
|
||||
android_unload_sphal_library(mLibHandle);
|
||||
mLibHandle = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
service vendor.cas-default /vendor/bin/hw/android.hardware.cas-service.example
|
||||
service vendor.cas-default /apex/com.android.hardware.cas/bin/hw/android.hardware.cas-service.example
|
||||
interface aidl android.hardware.cas.IMediaCasService/default
|
||||
class hal
|
||||
user media
|
||||
|
|
3
cas/aidl/default/file_contexts
Normal file
3
cas/aidl/default/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\.cas-service\.example u:object_r:hal_cas_default_exec:s0
|
9
cas/aidl/default/manifest.json
Normal file
9
cas/aidl/default/manifest.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "com.android.hardware.cas",
|
||||
"version": 1,
|
||||
// For CAS HAL to open plugins from /vendor/lib, "vendor" namespace should be imported.
|
||||
// ":sphal" is an alias for the "vendor" namespace in Vendor APEX.
|
||||
"requireNativeLibs": [
|
||||
":sphal"
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue