原文:https://source.android.com/devices/tech/health/deprecation
Framework 将继续使用health@1.0
直到按标准HAL弃用计划完全弃用为止 。当health@1.0
被弃用(条目从 框架兼容性矩阵除去), healthd
和libbatterymonitor
必须也系统中除去,以避免未知的healthd
行为。由于health@1.0
是一个可选的HAL,并且所有 healthd
对health@1.0的依赖都受到NULL检查的保护,因此在弃用时不应该中断。
当Android删除旧代码路径(healthd
,health@1.0
)时,按弃用计划Health@1.0 HAL
将被弃用。此外,Android还删除了以下内容:
- Framework 中的
healthd
依赖 healthd
- 系统中
health@1.0
的HAL定义库 - Framework 兼容性矩阵中的
health@1.0
条目
移除healthd
对于运行Android 9的设备和升级到Android 9且在新vendor
镜像中提供Health 2.0 HAL
的设备,我们建议从系统镜像中删除healthd
以节省磁盘空间并加快启动时间。
为此:
- 通过在指定设备的
Soong
实现中添加下面的行,即可从系统镜像移除healthd
和healthd.rc
:
cc_binary {
name: "android.hardware.health@2.0-service.device_name"
overrides: ["healthd"],
// ...
}
或者,如果模块在Make文件中,则添加如下:
LOCAL_MODULE_NAME := \
android.hardware.health@2.0-service.device_name
LOCAL_OVERRIDES_MODULES := healthd
如果安装了android.hardware.health@2.0-service
默认实现,则用特定设备的android.hardware.health@2.0-service.device_name
实现替代。有关更多信息,请参阅Health实现。
- 在
BoardConfig.mk
添加以下行以从Framework manifest中删除backup
实例。这可确保Framework manifest正确反映设备上的HAL并允许相关的VTS测试通过。
DEVICE_FRAMEWORK_MANIFEST_FILE += \
system/libhidl/vintfdata/manifest_healthd_exclude.xml
网友评论