On my Android system, there are two separate healthd processes:
$ adb shell "ps -ef | grep health"
root 3535 1 3 14:33:18 ? 00:00:00 healthd
system 3548 1 5 14:33:18 ? 00:00:00 android.hardware.health@2.0-service.imx
They both use the same code from system/core/healthd
and hardware/interfaces/health/2.0/default
, but only android.hardware.health@2.0-service.imx
uses code from vendor/nxp-opensource/imx/health
.
healthd
from building/running?Update:
The .rc
files for the two services differ:
smarc_mx8mq:/etc/init # cat healthd.rc
service healthd /system/bin/healthd
class hal
critical
group root system wakelock
smarc_mx8mq:/etc/init # cat /vendor/etc/init/android.hardware.health@2.0-service.imx.rc
service vendor.health-hal-2-0 /vendor/bin/hw/android.hardware.health@2.0-service.imx
class hal
user system
group system
capabilities WAKE_ALARM
file /dev/kmsg w
Removing /etc/init/healthd.rc
from the built system causes the vanilla healthd not to start. I have not yet noticed any ill effects.
healthd is version 1.0 hal, it can be removed. ref: Removing healthd