VHAL est compatible avec Java et les clients natifs. L'entretien automobile est le seul
Client Java pour VHAL. Pour les applications pour voiture, utilisez les API Car (par exemple,
CarPropertyManager
)
d'accéder aux propriétés VHAL au lieu de communiquer directement avec
le VHAL. En fait, SELinux bloque cela. Pour en savoir plus, consultez la documentation de l'API Car à l'adresse
Index des packages.
Pour les clients natifs, à partir d'Android 13, utilisez
libvhalclient
au lieu de
en se connectant à VHAL. Il s'agit d'une bibliothèque cliente
qui expose une interface commune,
IVhalClient.h
pour les implémentations AIDL et HIDL VHAL. L'exemple suivant montre
comment créer un client natif VHAL et l'utiliser pour obtenir un numéro d'identification de véhicule (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