淘汰 health@1.0

根據標準 HAL 淘汰時間表,這個架構會持續與 Health@1.0 搭配運作,直到該架構完全淘汰為止。淘汰 health@1.0 (已從架構相容性矩陣中移除的項目) 時,也必須從系統中移除 healthdlibbatterymonitor,以免造成健康狀態不良的問題。由於 health@1.0 是選用的 HAL,且所有 health@1.0 的 healthd 依附元件都受到空值檢查保護,因此不會因為停用而中斷。

當 Android 移除舊版程式碼路徑 (healthd、health@1.0) 時,Health@1.0 HAL 會依照淘汰時程淘汰。此外,Android 也移除了以下項目:

  1. 架構中的健康度相依性
  2. healthd
  3. 系統中的 health@1.0 HAL 定義程式庫
  4. 架構相容性矩陣中的 health@1.0 項目

移除 healthd

針對搭載 Android 9 的裝置,以及升級至 Android 9 且在新的供應商映像檔中提供 Health 2.0 HAL 的裝置,建議您從系統映像檔中移除 healthd,以節省磁碟空間並加快啟動時間。

方法如下:

  1. 在 Soong 中將下列指令列新增至裝置專屬實作項目,即可從系統映像檔中移除 healthdhealthd.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。詳情請參閱「實作健康功能」。