Gesundheit@1.0 wird abgelehnt

Das Framework wird weiterhin mit health@1.0 funktionieren, bis es gemäß dem standardmäßigen HAL-Abkündigungsplan vollständig veraltet ist. Wenn „health@1.0“ veraltet ist (Eintrag aus der Framework-Kompatibilitätsmatrix entfernt), müssen healthd “ und libbatterymonitor “ ebenfalls aus dem System entfernt werden, um unbekanntes Verhalten von „healthd“ zu vermeiden. Da „health@1.0“ ein optionales HAL ist und alle healthd -Abhängigkeiten von „health@1.0“ durch NULL-Prüfungen geschützt werden, sollte bei der Abschaffung nichts kaputt gehen.

Wenn Android den Legacy-Codepfad (healthd, health@1.0) entfernt, wird Health@1.0 HAL gemäß dem Einstellungsplan als veraltet markiert. Darüber hinaus entfernt Android auch Folgendes:

  1. gesunde Abhängigkeit im Framework
  2. gesund
  3. health@1.0 HAL-Definitionsbibliothek vom System
  4. Eintrag „health@1.0“ in der Framework-Kompatibilitätsmatrix

Gesundes entfernen

Für Geräte, die mit Android 9 gestartet werden, und Geräte, die auf Android 9 aktualisiert 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 Startzeit zu beschleunigen.

Gehen Sie dazu wie folgt vor:

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

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

    Oder, wenn das Modul in Make ist:

    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 einen gerätespezifischen android.hardware.health@2.0-service.device_name . Weitere Informationen finden Sie unter Implementieren von Health .