在我的 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/healthd
,hardware/interfaces/health/2.0/default
但仅android.hardware.health@2.0-service.imx
使用 中的代码vendor/nxp-opensource/imx/health
。
- 两者都运行有什么理由吗?
- 恩智浦(或下游供应商)是否应该阻止默认 Android
healthd
构建/运行?
更新:
.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 无法启动。我还没有注意到任何不良影响。