Desaprobación de salud@1.0

El marco seguirá funcionando con health@1.0 hasta que quede completamente obsoleto de acuerdo con el cronograma estándar de obsolescencia de HAL . Cuando health@1.0 está en desuso (entrada eliminada de la matriz de compatibilidad del marco ), healthd y libbatterymonitor también deben eliminarse del sistema para evitar comportamientos desconocidos para healthd. Como health@1.0 es una HAL opcional y todas las dependencias de healthd a health@1.0 están protegidas por comprobaciones NULL, nada debería romperse en desuso.

Cuando Android elimina la ruta del código heredado (healthd, health@1.0), Health@1.0 HAL queda en desuso de acuerdo con el programa de desuso. Además, Android también elimina lo siguiente:

  1. dependencia de la salud en el marco
  2. salud
  3. Biblioteca de definición HAL de health@1.0 del sistema
  4. entrada health@1.0 en la matriz de compatibilidad del marco

Quitando la salud

Para los dispositivos que se inician con Android 9 y los dispositivos que se actualizan a Android 9 que brindan Health 2.0 HAL en la nueva imagen del proveedor, recomendamos eliminar healthd de la imagen del sistema para ahorrar espacio en disco y acelerar el tiempo de arranque.

Para hacerlo:

  1. Elimine healthd y healthd.rc de la imagen del sistema agregando la siguiente línea a la implementación específica del dispositivo en Soong:

    cc_binary {
        name: "android.hardware.health@2.0-service.device_name"
        overrides: ["healthd"],
        // ...
    }
    

    O, si el módulo está en Make:

    LOCAL_MODULE_NAME := \
        android.hardware.health@2.0-service.device_name
    LOCAL_OVERRIDES_MODULES := healthd
    

    Si está instalada la implementación predeterminada android.hardware.health@2.0-service , implemente en su lugar un android.hardware.health@2.0-service.device_name específico del dispositivo. Para obtener más información, consulte Implementación de salud .