diff --git a/health/1.0/default/Android.bp b/health/1.0/default/Android.bp index 049e3930c6..7581335a3a 100644 --- a/health/1.0/default/Android.bp +++ b/health/1.0/default/Android.bp @@ -18,3 +18,55 @@ cc_library_static { } +cc_library_static { + name: "android.hardware.health@1.0-impl-helper", + vendor: true, + srcs: ["Health.cpp"], + + header_libs: [ + "libbase_headers", + "libhealthd_headers", + ], + + shared_libs: [ + "libcutils", + "libhidlbase", + "liblog", + "libutils", + "android.hardware.health@1.0", + ], + + static_libs: [ + "android.hardware.health@1.0-convert", + ], +} + +cc_library_shared { + name: "android.hardware.health@1.0-impl", + vendor: true, + relative_install_path: "hw", + + static_libs: [ + "android.hardware.health@1.0-impl-helper", + "android.hardware.health@1.0-convert", + "libhealthd.default", + ], +} + +cc_binary { + name: "android.hardware.health@1.0-service", + vendor: true, + relative_install_path: "hw", + init_rc: ["android.hardware.health@1.0-service.rc"], + srcs: ["HealthService.cpp"], + + shared_libs: [ + "liblog", + "libcutils", + "libdl", + "libbase", + "libutils", + "libhidlbase", + "android.hardware.health@1.0", + ], +} diff --git a/health/1.0/default/Android.mk b/health/1.0/default/Android.mk deleted file mode 100644 index bbf37af3b3..0000000000 --- a/health/1.0/default/Android.mk +++ /dev/null @@ -1,45 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.health@1.0-impl -LOCAL_PROPRIETARY_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_C_INCLUDES := system/core/base/include -LOCAL_SRC_FILES := \ - Health.cpp \ - -LOCAL_HEADER_LIBRARIES := libhealthd_headers - -LOCAL_SHARED_LIBRARIES := \ - libcutils \ - libhidlbase \ - liblog \ - libutils \ - android.hardware.health@1.0 \ - -LOCAL_STATIC_LIBRARIES := android.hardware.health@1.0-convert - -LOCAL_HAL_STATIC_LIBRARIES := libhealthd - -include $(BUILD_SHARED_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_PROPRIETARY_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_MODULE := android.hardware.health@1.0-service -LOCAL_INIT_RC := android.hardware.health@1.0-service.rc -LOCAL_SRC_FILES := \ - HealthService.cpp \ - -LOCAL_SHARED_LIBRARIES := \ - liblog \ - libcutils \ - libdl \ - libbase \ - libutils \ - libhidlbase \ - android.hardware.health@1.0 \ - -include $(BUILD_EXECUTABLE) - -include $(call first-makefiles-under,$(LOCAL_PATH)) diff --git a/health/1.0/default/README.md b/health/1.0/default/README.md new file mode 100644 index 0000000000..1ded7dede5 --- /dev/null +++ b/health/1.0/default/README.md @@ -0,0 +1,66 @@ +# Implement the 2.1 HAL instead! + +It is strongly recommended that you implement the 2.1 HAL directly. See +`hardware/interfaces/health/2.1/README.md` for more details. + +# Implement Health 1.0 HAL + +1. Install common binderized service. The binderized service `dlopen()`s + passthrough implementations on the device, so there is no need to write + your own. + + ```mk + # Install default binderized implementation to vendor. + PRODUCT_PACKAGES += android.hardware.health@1.0-service + ``` + +1. Add proper VINTF manifest entry to your device manifest. Example: + + ```xml + + android.hardware.health + hwbinder + 1.0 + + IHealth + default + + + ``` + +1. Install the proper passthrough implemetation. + + 1. If you want to use the default implementation (with default `libhealthd`), + add the following to `device.mk`: + + ```mk + PRODUCT_PACKAGES += \ + android.hardware.health@1.0-impl + ``` + + 1. Otherwise, if you have a customized `libhealthd.`: + + 1. Define your passthrough implementation. Example (replace `` + and `` accordingly): + + ```bp + cc_library_shared { + name: "android.hardware.health@1.0-impl-", + vendor: true, + relative_install_path: "hw", + + static_libs: [ + "android.hardware.health@1.0-impl-helper", + "android.hardware.health@1.0-convert", + "libhealthd.", + ], + } + ``` + + 1. Add to `device.mk`. + + ``` + PRODUCT_PACKAGES += android.hardware.health@1.0-impl- + ``` + + 1. Define appropriate SELinux permissions.