Ablehnen von health@1.0

Das Framework funktioniert weiterhin mit health@1.0, bis es gemäß dem standardmäßigen HAL -Verfallzeitplan vollständig veraltet ist. Wenn health@1.0 veraltet ist (Eintrag aus Framework-Kompatibilitätsmatrix entfernt), müssen auch healthd und libbatterymonitor aus dem System entfernt werden, um unbekannte Verhaltensweisen für 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 werden, sollte bei einer Verwerfung nichts kaputt gehen.

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

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

Gesundheit 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 verkürzen.

Dazu:

  1. Entfernen Sie healthd und healthd.rc aus dem Systemabbild, 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 Integrität implementieren .