healthd: a.h.health@2.0-service.override removes healthd
Removes healthd from the build if -service.override
is provided. This encourages developers to deprecate healthd
for their devices when they can.
When -service.override is used, framework manifest needs
to remove the /backup instance as well; this can be done
by including manifest_healthd_exclude.xml in
DEVICE_FRAMEWORK_MANIFEST_FILE.
Test: build and boot on 2016/2017 Pixel devices
Test: build and boot on a new device
Test: lshal and vts_treble_vintf_test on all these
devices
Bug: 77541952
Change-Id: I25744feaad3034441cd7a96a5343d4ce3eedc288
diff --git a/healthd/Android.bp b/healthd/Android.bp
index a28544e..cefe09d 100644
--- a/healthd/Android.bp
+++ b/healthd/Android.bp
@@ -20,8 +20,8 @@
export_header_lib_headers: ["libhealthd_headers"],
}
-cc_binary {
- name: "android.hardware.health@2.0-service",
+cc_defaults {
+ name: "android.hardware.health@2.0-service_defaults",
init_rc: ["android.hardware.health@2.0-service.rc"],
vendor: true,
relative_install_path: "hw",
@@ -55,6 +55,20 @@
}
cc_binary {
+ name: "android.hardware.health@2.0-service",
+ defaults: ["android.hardware.health@2.0-service_defaults"],
+}
+
+cc_binary {
+ name: "android.hardware.health@2.0-service.override",
+ defaults: ["android.hardware.health@2.0-service_defaults"],
+
+ overrides: [
+ "healthd",
+ ],
+}
+
+cc_binary {
name: "healthd",
init_rc: ["healthd.rc"],
srcs: [