Gesundheit@1.0 einstellen

Das Framework funktioniert weiterhin mit „health@1.0“, bis es gemäß dem Zeitplan für die Einstellung von HAL vollständig eingestellt wird. Wenn „health@1.0“ eingestellt wird (Eintrag aus der Framework-Kompatibilitätsmatrix entfernt), müssen auch healthd und libbatterymonitor aus dem System entfernt werden, um unbekanntes Verhalten von „healthd“ zu vermeiden. Da „health@1.0“ eine optionale HAL ist und alle healthd-Abhängigkeiten von „health@1.0“ durch NULL-Prüfungen geschützt sind, sollte es bei der Einstellung keine Probleme geben.

Wenn Android den alten Codepfad (healthd, health@1.0) entfernt, wird die Health@1.0 HAL gemäß dem Zeitplan für die Einstellung eingestellt. Außerdem werden unter Android folgende Funktionen entfernt:

  1. healthd-Abhängigkeit im Framework
  2. gesund
  3. HAL-Definitionenbibliothek für health@1.0 aus dem System
  4. health@1.0-Eintrag in der Framework-Kompatibilitätsmatrix

healthd entfernen

Für Geräte, die mit Android 9 ausgeliefert werden, und Geräte, die auf Android 9 umgestellt werden und die Health 2.0 HAL im neuen Anbieter-Image bereitstellen, empfehlen wir, healthd aus dem System-Image zu entfernen, um Speicherplatz zu sparen und die Bootzeit zu verkürzen.

Gehen Sie dazu so vor:

  1. Entfernen Sie healthd und healthd.rc aus dem System-Image, indem Sie der gerätespezifischen Implementierung in Soong die folgende Zeile hinzufügen:

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

    Wenn sich das Modul in Make befindet, gehen Sie so vor:

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

    Wenn die Standardimplementierung android.hardware.health@2.0-service installiert ist, implementieren Sie stattdessen eine gerätespezifische android.hardware.health@2.0-service.device_name. Weitere Informationen finden Sie unter Zustand implementieren.