androidandroid-sourceandroid-10.0imx8healthd

Should both healthd and android.hardware.health@2.0-service.imx be running?


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.


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.


Solution

  • healthd is version 1.0 hal, it can be removed. ref: Removing healthd