若要將現有HIDL VHAL 實作移轉到AIDL VHAL,請使用AIDL 參考實作結構來實作IVehicleHardware
介面。
如果現有的 HIDL 實作也遵循HIDL參考實現,供應商已經實現了 從 HIDL VHAL 遷移到 AIDL VHAL 時,請考慮這些差異。 因此,您必須包含所需類型的所有頭檔。 這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。 上次更新時間:2024-04-29 (世界標準時間)。VehicleHal
類別。 IVehicleHardware
與VehicleHal
非常相似。希爾德瓦哈爾 輔助病毒哈爾 getAllPropertyConfigs()
與 VehicleHal.listProperties()
相同getValues(callback, requests)
可以為每個請求呼叫 VehicleHal.get()
,並且可以呼叫回呼。 dump()
與 VehicleHal.dump()
相同checkHealth()
可以返回 VehicleHal.get()
registerPropertyChangeCallback()
與設定 VehicleHal.mOnHalEvent
類似AIDL 中的類型差異
types.hal
產生的所有類型產生一個頭檔 ( types.h
)。 AIDL 為每種類型產生一個頭檔。例如, VehiclePropValue.aidl
中的VehiclePropValue.h
。VehicleHalUtils
庫中的幫助程式檔案VehicleHalTypes.h
包含大多數常見類型。代替 ... 使用 hidl_vec
std::vector
hidl_string
std::string
android::sp
std::shared_ptr
android::wp
std::weak_ptr
types.hal
中定義的所有類型在 AIDL 中都相同,除了:SubscribeFlags
被刪除,因為它沒有被使用,因為onPropertySet
被刪除UserFlags
現在在UserInfo.aidl
中定義,並且應該定義為標誌而不是枚舉。使用者標誌欄位是由多個UserInfo.USER_FLAG_XXX
位元或組合在一起的整數。VehiclePropValue
中的RawValue
重新命名為RawPropValue
RawValue
中的bytes
被重新命名為byteValues