谷歌致力於推進種族平等的黑人社區。 怎麼看。
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

Android的健康

Android的9包括android.hardware.health HAL 2.0,從health@1.0 HAL的重大版本升級。這種新的HAL有以下優點:

  • 框架和供應商代碼之間清潔器分離。
  • 不贊成不必要的healthd守護進程。
  • 更大的自由度衛生信息報告供應商的定制。
  • 不僅僅是電池更多設備運行狀況的信息。

要求

設備與Android 9發射必須提供2.0 HAL(並且不能提供1.0 HAL)。設備不與Android 9啟動,但計劃更新供應商的圖像目標框架兼容性矩陣版本3(Android中9日發布)必須刪除現有1.0 HAL實現和提供2.0 HAL。

AOSP包括旨在幫助您實現2.0 HAL,並從舊的1.0 HAL過渡多個幫手庫。

術語

  • health@1.0:縮寫android.hardware.health@1.0 。指的Android 8.0發布健康HIDL HAL 1.0版。
  • health@2.0:縮寫android.hardware.health@2.0 。指的是Android的9日發布的健康HIDL HAL 2.0版。
  • 充電器 :可執行運行在關閉模式下的充電顯示的電話充電動畫。
  • 恢復 :在恢復模式下運行可執行文件必須獲取電池信息。
  • healthd:在Android的遺產守護進程運行檢索健康相關的信息並提供給框架。
  • 蓄能 :守護進程運行Android檢索存儲信息並提供給框架。

健康的Android 8.x中

在Android中8.x中,衛生部分的工作原理如下圖中詳細描述:

健康的Android 8.x中

圖1。健康的Android 8.x中

在此圖中:

  • 一(1)粘合劑和呼叫一(1)hwbinder呼叫使用由框架與硬件進行通信。
  • healthd靜態鏈接到libhealthd_androidlibbatterymonitorlibbatteryservice
  • health@1.0-impl靜態鏈接到libhealthd. BOARD

每塊板可以自定義不同的libhealthd. BOARD ;它在構建時什麼充電器,health@1.0-impl和恢復鏈接確定。

對於其他模式:

關閉模式炭化和恢復模式的Android 8.x中

圖2.健康的Android 8.x中,關斷模式下的充電和恢復模式

  • 充電器靜態鏈接到libhealthd. BOARDlibhealthd_chargerlibbatterymonitor
  • 恢復靜態鏈接到libhealthd. BOARDlibbatterymonitor

健康的Android 9

在Android中9,衛生部分的工作原理如下圖中詳細描述: 健康的Android 9

圖3。健康的Android 9

該框架嘗試從檢索health@2.0服務hwservicemanager 。如果失敗,它會調用到health@1.0(Android中8.x中)。遺留代碼路徑被保持,以便在Android 9系統映像是與Android 8.x的供應商圖像兼容。該框架不檢索來自兩個的HAL的信息,因為只有一個服務版本(1.0或2.0)可以在設備上存在。

對於其他模式:

關閉模式炭化和恢復的Android 9

圖4.健康的Android 9,關閉模式和充電模式恢復

HAL接口

該health@2.0 HAL提供相同的功能的框架,作為老healthd守護進程。它還提供類似於什麼healthd以前作為粘合劑服務(即提供的API IBatteryPropertiesRegistrar )。

主界面, IHealth ,提供了如下功能:

  • registerCallback ,更換IBatteryPropertiesRegistrar.registerListener
  • unregisterCallback ,更換IBatteryPropertiesRegistrar.unregisterListener
  • update ,更換IBatteryPropertiesRegistrar.scheduleUpdate
  • IBatteryPropertiesRegistrar.getProperties被替換如下:
    • getChargeCounter
    • getCurrentNow
    • getCurrentAverage
    • getCapacity
    • getEnergyCounter
    • getChargeStatus
    • getHealthInfo

此外, IHealth提供了以下新的API storaged檢索特定供應商的存儲相關信息:

  • getStorageInfo
  • getDiskStats

一種新的結構, @2.0::HealthInfo ,通過回調並返回getHealthInfo 。這個結構包含了所有可用的設備運行狀況信息,通過health@2.0 HAL,其中包括:

  • 計費信息(AC / USB /無線,電流,電壓等)
  • 電池信息(存在,電池電量,電流,電壓,電荷,技術等)
  • 存儲信息(存儲設備的信息,磁盤統計)

有關實現衛生服務的信息,請參閱實現健康