根據標準 HAL 淘汰時間表,這個架構會持續與 Health@1.0 搭配運作,直到該架構完全淘汰為止。淘汰 health@1.0 (已從架構相容性矩陣中移除的項目) 時,也必須從系統中移除 healthd
和 libbatterymonitor
,以免造成健康狀態不良的問題。由於 health@1.0 是選用的 HAL,且所有 health@1.0 的 healthd
依附元件都受到空值檢查保護,因此不會因為停用而中斷。
當 Android 移除舊版程式碼路徑 (healthd、health@1.0) 時,Health@1.0 HAL 會依照淘汰時程淘汰。此外,Android 也移除了以下項目:
- 架構中的健康度相依性
- healthd
- 系統中的 health@1.0 HAL 定義程式庫
- 架構相容性矩陣中的 health@1.0 項目
移除 healthd
針對搭載 Android 9 的裝置,以及升級至 Android 9 且在新的供應商映像檔中提供 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
。詳情請參閱「實作健康功能」。