Wycofanie Health@1.0

Framework będzie nadal działać z health@1.0, dopóki nie zostanie całkowicie wycofany zgodnie ze standardowym harmonogramem wycofywania HAL. Gdy interfejs health@1.0 zostanie wycofany (rekord zostanie usunięty z macierzy zgodności frameworka), healthdlibbatterymonitor należy również usunąć z systemu, aby uniknąć nieznanych zachowań w przypadku interfejsu healthd. health@1.0 to opcjonalny interfejs HAL, a wszystkie zależności od niego są chronione przez sprawdzanie wartości NULL, więc nic nie powinno się zepsuć w przypadku wycofania.healthd

Gdy Android usunie starszy kod (healthd, health@1.0), interfejs HAL Health@1.0 zostanie wycofany zgodnie z harmonogramem. Dodatkowo Android usuwa te elementy:

  1. sprawna zależność w ramach platformy
  2. w dobrym stanie
  3. health@1.0 – biblioteka definicji HAL z systemu
  4. wpis health@1.0 w ramach macierzy zgodności

Usuń healthd

W przypadku urządzeń z Androidem 9 i urządzeń, które są aktualizowane do Androida 9, a które zawierają interfejs HAL Health 2.0 w nowym obrazie dostawcy, zalecamy usunięcie healthd z obrazu systemu, aby zaoszczędzić miejsce na dysku i przyspieszyć czas uruchamiania.

Aby to zrobić:

  1. Usuń healthdhealthd.rc z obrazu systemu, dodając ten wiersz do implementacji na dane urządzenie w Soong:

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

    Jeśli moduł znajduje się w Make:

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

    Jeśli zainstalowana jest domyślna implementacja android.hardware.health@2.0-service, zaimplementuj android.hardware.health@2.0-service.device_name na potrzeby konkretnego urządzenia. Więcej informacji znajdziesz w artykule Wdrażanie funkcji stanu.