Deprecjonujące zdrowie@1.0

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Struktura będzie nadal działać z health@1.0, dopóki nie zostanie w pełni przestarzała zgodnie ze standardowym harmonogramem wycofywania warstwy HAL . Gdy health@1.0 jest przestarzałe (wpis usunięty z macierzy kompatybilności frameworka ), healthd i libbatterymonitor muszą być również usunięte z systemu, aby uniknąć nieznanych zachowań dla healthd. Ponieważ health@1.0 jest opcjonalną warstwą HAL, a wszystkie uzależnione od zdrowia zależności healthd są chronione przez kontrole NULL, nic nie powinno się zepsuć po wycofaniu.

Gdy system Android usunie starszą ścieżkę kodu (zdrowa, kondycja @ 1,0), warstwa HAL Health @ 1,0 jest przestarzała zgodnie z harmonogramem wycofywania. Ponadto Android usuwa również następujące elementy:

  1. zdrowa zależność w ramach
  2. zdrowy
  3. health@1.0 Biblioteka definicji HAL z systemu
  4. health@1.0 wpis w macierzy kompatybilności frameworka

Usuwanie zdrowych

W przypadku urządzeń uruchamianych z systemem Android 9 i urządzeń uaktualniających do systemu Android 9, które zapewniają warstwę 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ń healthd i healthd.rc z obrazu systemu, dodając następujący wiersz do implementacji specyficznej dla urządzenia w Soong:

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

    Lub, jeśli moduł jest 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 , zamiast tego zaimplementuj specyficzne dla urządzenia android.hardware.health@2.0-service.device_name . Aby uzyskać więcej informacji, zobacz temat Implementacja kondycji .