VHAL תומך ב-Java ובלקוחות מקוריים. Car Service הוא לקוח 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