healthd 和 [email protected] 都应该运行吗?

问题描述 投票:0回答:2

在我的 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 [email protected]

它们都使用

system/core/healthd
hardware/interfaces/health/2.0/default
中的相同代码,但只有
[email protected]
使用
vendor/nxp-opensource/imx/health
中的代码。

  • 两者都有什么理由跑步吗?
  • NXP(或下游供应商)是否应该停止默认 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/[email protected]                                                                                    
service vendor.health-hal-2-0 /vendor/bin/hw/[email protected]
    class hal
    user system
    group system
    capabilities WAKE_ALARM
    file /dev/kmsg w

从构建的系统中删除

/etc/init/healthd.rc
会导致原版 healthd 无法启动。 我还没有发现任何不良影响。

android android-source android-10.0 imx8 healthd
2个回答
1
投票

healthd 是 1.0 hal 版本,可以删除。参考:移除健康


0
投票

有人解决了 GUI 中电池状态为“充电”和“放电”的问题吗?

在我的内核中,充电和放电正在完美地进行。

来自内核的日志:-

phyboard_polis:/ # cat /sys/class/power_supply/ltc4155-battery/status
收费 phyboard_polis:/ # cat /sys/class/power_supply/ltc4155-battery/status
放电

但是当我在hal中更新相同的内容时:方法HealthImpl::UpdateHealthInfo中的vendor/nxp-opensource/imx/health/health.cpp

状态更新发生相当延迟,可能会持续 30 秒。

知道如何解决内核更新状态后立即更新电池状态的问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.