0

在我的 Android 系统上,有两个独立的 healthd 进程:

$ 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

它们都使用 和 中的相同代码system/core/healthdhardware/interfaces/health/2.0/default但仅android.hardware.health@2.0-service.imx使用 中的代码vendor/nxp-opensource/imx/health

  • 两者都运行有什么理由吗?
  • 恩智浦(或下游供应商)是否应该阻止默认 Androidhealthd构建/运行?

更新:

.rc两种服务的文件不同:

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

从构建的系统中删除/etc/init/healthd.rc会导致 vanilla healthd 无法启动。我还没有注意到任何不良影响。

4

1 回答 1

1

healthd 是 1.0 版 hal,可以删除。参考:删除 healthd

于 2021-10-19T07:37:33.367 回答