health@1.0 の非推奨化

フレームワークでは、標準の HAL サポート終了予定に基づいて、サポートが完全に終了するまで引き続き health@1.0 を使用できます。health@1.0 のサポートが終了したら(フレームワーク互換性マトリックスからエントリが削除されたら)、healthd が不明な動作をしないように、healthdlibbatterymonitor もシステムから削除する必要があります。health@1.0 は任意の HAL であり、health@1.0 に対する healthd のすべての依存関係は NULL チェックで保護されているため、サポート終了による影響はありません。

Android によって以前のコードパス(healthd、health@1.0)が削除されると、サポート終了予定に基づいて Health@1.0 HAL のサポートが終了します。また、Android によって以下も削除されます。

  1. フレームワークにおける healthd の依存関係
  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"],
        // ...
    }
    

    モジュールが作成されている場合:

    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 の実装をご覧ください。