Прекращение поддержки здоровья @ 1.0

Платформа будет продолжать работать с health@1.0 до тех пор, пока она не будет полностью устарела в соответствии со стандартным графиком прекращения поддержки HAL . Когда health@1.0 устарел (запись удалена из матрицы совместимости платформы ), healthd и libbatterymonitor также должны быть удалены из системы, чтобы избежать неизвестного поведения healthd. Поскольку health@1.0 является необязательным HAL, а все зависимости healthd от health@1.0 защищены проверками NULL, ничего не должно сломаться при прекращении поддержки.

Когда Android удаляет устаревший путь кода (healthd, health@1.0), HAL Health@1.0 становится устаревшим в соответствии с графиком устаревания. Кроме того, Android также удаляет следующее:

  1. здоровая зависимость в рамках
  2. здоровый
  3. health@1.0 библиотека определений HAL из системы
  4. запись health@1.0 в матрице совместимости платформы

Удаление здоровья

Для устройств, запускаемых с Android 9, и устройств, обновляемых до Android 9, которые предоставляют Health 2.0 HAL в новом образе поставщика, мы рекомендуем удалить healthd из образа системы, чтобы сэкономить дисковое пространство и ускорить загрузку.

Для этого:

  1. Удалите healthd и healthd.rc из образа системы, добавив следующую строку в реализацию конкретного устройства в Soong:

    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 для конкретного устройства. Дополнительные сведения см. в разделе Реализация Health .