Files
android/libwvdrmengine/apex/Android.bp
Jooyung Han b278b4170e Configure WV HAL APEX to be updatable
- add "supportRebootless" to apex_manifest.json
- add <allowed-vendor-apex> sysconfig
- add "on property:apex.com.google.android.widevine.ready=true" to .rc

Now, we can test `adb install` new version of the APEX and see the
service is restarted from the new version.

Note that this doesn't mean that DRM Framework works fine with the
update.

Bug: 248192031
Test: adb install --force-non-staged \
   -i com.android.vending \
   $OUT/vendor/com.google.android.widevine.apex
Change-Id: I7c41b224f0bb55742c0023c23196bba4a09e555f
2022-09-22 19:22:57 +09:00

95 lines
2.8 KiB
Plaintext

// Copyright (C) 2022 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "vendor_widevine_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["vendor_widevine_license"],
}
soong_config_module_type {
name: "widevine_apex_defaults",
module_type: "apex_defaults",
config_namespace: "ANDROID",
bool_variables: ["TARGET_ENABLE_MEDIADRM_64"],
properties: ["compile_multilib"],
}
widevine_apex_defaults {
name: "com.google.android.widevine-defaults",
compile_multilib: "prefer32",
soong_config_variables: {
TARGET_ENABLE_MEDIADRM_64: {
compile_multilib: "first",
},
},
}
apex {
name: "com.google.android.widevine",
vendor: true,
manifest: "apex_manifest.json",
prebuilts: [
"com.google.android.widevine.rc",
"widevine-linker-config",
],
defaults: [
"com.google.android.widevine-defaults",
],
binaries: ["android.hardware.drm-service.widevine"],
// TODO(b/239054171) embed vintf_fragment in the apex.
vintf_fragments: ["com.google.android.widevine.xml"],
file_contexts: "file_contexts",
use_vndk_as_stable: true,
key: "com.google.android.widevine.key",
certificate: ":com.google.android.widevine.certificate",
updatable: false,
// install sysconfig to allow the apex to be updatable
required: [
"allowlist_com.google.android.widevine.xml",
],
}
linker_config {
name: "widevine-linker-config",
src: "linker.config.json",
installable: false,
}
apex_key {
name: "com.google.android.widevine.key",
public_key: "com.google.android.widevine.avbpubkey",
private_key: "com.google.android.widevine.pem",
}
android_app_certificate {
name: "com.google.android.widevine.certificate",
certificate: "com.google.android.widevine",
}
prebuilt_etc {
name: "com.google.android.widevine.rc",
src: "com.google.android.widevine.rc",
}
prebuilt_etc {
name: "allowlist_com.google.android.widevine.xml",
src: "allowlist_com.google.android.widevine.xml",
vendor: true,
sub_dir: "sysconfig",
}