VHAL תומך ב-Java ובלקוחות נייטיב. שירות הסעות הוא היחיד
לקוח Java ל-VHAL. באפליקציות שמיועדות בדרך כלל למכוניות, השתמשו בממשקי ה-API של המכונית (לדוגמה,
CarPropertyManager
)
כדי לגשת לנכסי VHAL במקום לתקשר ישירות עם
VHAL. למעשה, SELinux חוסם את הפעולה הזו. פרטים נוספים זמינים במסמכים של Car API בכתובת
אינדקס חבילות.
בלקוחות מקומיים, החל מ-Android 13, צריך להשתמש ב-libvhalclient
במקום להתחבר ישירות ל-VHAL. זוהי ספריית לקוח שמציגה ממשק משותף אחד, IVhalClient.h
, להטמעות של AIDL ו-HIDL VHAL. בדוגמה הבאה מוסבר איך ליצור לקוח VHAL מקורי ולהשתמש בו כדי לקבל מספר זיהוי רכב (VIN):
using ::aidl::android::hardware::automotive::vehicle::VehicleProperty; using ::android::frameworks::automotive::vhal::IVhalClient; using ::android::hardware::automotive::vehicle::toInt; auto vhalClient = IVhalClient::tryCreate(); if (vhalClient == nullptr) { // handle error. } auto result = vhalClient->getValueSync( *vhalClient->createHalPropValue(toInt(VehicleProperty::INFO_VIN))); // Use result