health@1.0の廃止

フレームワークは、標準のHAL廃止スケジュールに従って完全に廃止されるまで、health @ 1.0で引き続き機能します。 health@1.0が非推奨になった場合(フレームワーク互換性マトリックスからエントリが削除された場合)、healthdの不明な動作を回避するために、 healthdおよびlibbatterymonitorもシステムから削除する必要があります。 health @ 1.0はオプションのHALであり、health @ 1.0へのすべてのhealthd依存関係は、NULLチェックによって保護されているため、非推奨になっても何も壊れません。

Androidがレガシーコードパス(healthd、health @ 1.0)を削除すると、Health @ 1.0HALは非推奨のスケジュールに従って非推奨になります。さらに、Androidは次のものも削除します。

  1. フレームワークにおける健康的な依存関係
  2. healthd
  3. システムからのhealth@1.0HAL定義ライブラリ
  4. フレームワーク互換性マトリックスのhealth@1.0エントリ

健康を取り除く

Android9で起動するデバイスおよび新しいベンダーイメージでHealth2.0 HALを提供するAndroid9にアップグレードするデバイスの場合、ディスクスペースを節約し、起動時間を短縮するために、システムイメージから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を実装します。詳細については、「ヘルスの実装」を参照してください。