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:
- gesunde Abhängigkeit im Framework
- gesund
- health@1.0 HAL-Definitionsbibliothek vom System
- Eintrag „health@1.0“ in der Framework-Kompatibilitätsmatrix
Healthd 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:
Entfernen Sie
healthd
undhealthd.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ätespezifischenandroid.hardware.health@2.0-service.device_name
. Weitere Informationen finden Sie unter Implementieren von Health .