Um eine vorhandene HIDL- VHAL-Implementierung zu einem AIDL- VHAL zu migrieren, verwenden Sie die AIDL-Referenzimplementierungsstruktur , um die IVehicleHardware
Schnittstelle zu implementieren.
Wenn auch die bestehende HIDL-Implementierung folgt HIDL-Referenzimplementierung : Der Anbieter hat die Berücksichtigen Sie bei der Migration vom HIDL VHAL zum AIDL VHAL diese Unterschiede. Daher müssen Sie alle Header-Dateien für die benötigten Typen einbinden. Eine Hilfsdatei, Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften. Zuletzt aktualisiert: 2024-04-29 (UTC).VehicleHal
Klasse implementiert. IVehicleHardware
ist VehicleHal
sehr ähnlich. HIDL VHAL AIDL VHAL getAllPropertyConfigs()
Identisch mit VehicleHal.listProperties()
getValues(callback, requests)
Kann VehicleHal.get()
für jede Anfrage aufrufen und Rückrufe aufrufen. dump()
Identisch mit VehicleHal.dump()
checkHealth()
Kann VehicleHal.get()
zurückgeben registerPropertyChangeCallback()
Ähnlich wie beim Festlegen VehicleHal.mOnHalEvent
Typunterschiede bei AIDL
types.h
) für alle types.hal
Typen. AIDL generiert für jeden Typ eine Header-Datei. Zum Beispiel VehiclePropValue.h
von VehiclePropValue.aidl
.VehicleHalTypes.h
in der VehicleHalUtils
Bibliothek, enthält die meisten gängigen Typen. Anstatt ... Verwenden hidl_vec
std::vector
hidl_string
std::string
android::sp
std::shared_ptr
android::wp
std::weak_ptr
types.hal
definierten Typen sind in AIDL identisch, mit Ausnahme von:SubscribeFlags
wird entfernt, da es nicht verwendet wird, weil onPropertySet
entfernt wirdUserFlags
ist jetzt in UserInfo.aidl
definiert und sollte als Flag statt als Enumeration definiert werden. Ein Benutzerflagfeld ist eine Ganzzahl, die mehrere UserInfo.USER_FLAG_XXX
-Bits oder zusammen enthält.RawValue
in VehiclePropValue
wird in RawPropValue
umbenanntbytes
in RawValue
werden in byteValues
umbenannt