Deprecjonujące zdrowie@1.0

Struktura będzie nadal działać z health@1.0, dopóki nie zostanie całkowicie przestarzała zgodnie ze standardowym harmonogramem wycofywania HAL . Kiedy health@1.0 jest przestarzały (wpis został usunięty z macierzy zgodności frameworka ), healthd i libbatterymonitor muszą zostać również usunięte z systemu, aby uniknąć nieznanych zachowań healthd. Ponieważ health@1.0 jest opcjonalną warstwą HAL, a wszystkie zależności healthd od health@1.0 są chronione przez kontrole NULL, nic nie powinno się psuć w przypadku przestarzałości.

Gdy system Android usunie starszą ścieżkę kodu (healthd, health@1.0), warstwa HAL Health@1.0 stanie się przestarzała zgodnie z harmonogramem wycofywania. Ponadto Android usuwa również następujące elementy:

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

Usuwanie zdrowych

W przypadku urządzeń uruchamianych z systemem Android 9 i urządzeń aktualizujących się do systemu Android 9, które zapewniają warstwę Health 2.0 HAL w obrazie nowego 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 specyficzną dla urządzenia android.hardware.health@2.0-service.device_name . Aby uzyskać więcej informacji, zobacz Implementowanie kondycji .