Par défaut, la plupart des services automobiles sont obligatoires et toujours activés. Cependant, vous pouvez désigner un sous-ensemble de services automobiles comme facultatif, car certaines fonctionnalités peuvent ne pas être pris en charge dans chaque voiture.
Liste des fonctionnalités facultatives
Les fonctionnalités facultatives que vous pouvez activer et désactiver sont listées dans le tableau ci-dessous.
Fonctionnalité de contrôle de la voiture | Valeur de chaîne |
---|---|
Service EVS de voiture | car_evs_service |
Service expérimental de protection du clavier pour voitures | experimental_car_keyguard_service |
Service de navigation automobile | car_navigation_service |
Service de connexion des occupants de la voiture | car_occupant_connection_service |
Service d'accès à distance pour voitures | car_remote_access_service |
Réparation d'appareils à distance pour voiture | car_remote_device_service |
Service de télémétrie de voiture | car_telemetry_service |
Service d'avis aux utilisateurs de la voiture | com.android.car.user.CarUserNoticeService |
Service Cluster Home | cluster_home_service |
Service de diagnostic | diagnostic |
Écran de prise de conscience de l'occupant | occupant_awareness |
Service de surveillance du stockage | storage_monitoring |
Service de cartographie pour véhicule | vehicle_map_service |
Activer et désactiver les fonctionnalités de contrôle de la voiture
Vous pouvez contrôler la prise en charge des fonctionnalités dans vos builds de deux manières, soit avec des superpositions de ressources d'exécution (RRO) ou via la couche d'abstraction matérielle du véhicule (VHAL).
Utiliser des RRO
Utilisez la configuration de ressource nommée config_allowed_optional_car_features
, qui
liste toutes les fonctionnalités facultatives que vous pouvez activer. Lors du premier démarrage
d'une voiture, il est possible
les fonctionnalités facultatives d'une voiture sont notées et activées si elles ne sont pas ajoutées à la liste de blocage par le VHAL.
Pour en savoir plus sur les RRO, consultez
Modifiez la valeur des ressources d'une application au moment de l'exécution.
Utiliser le VHAL
La couche d'abstraction matérielle du véhicule (VHAL, Vehicle Hardware Abstraction Layer) contrôle les fonctionnalités en
pour désactiver des fonctionnalités facultatives spécifiques. La propriété VHAL nommée
DISABLED_OPTIONAL_FEATURES
indique dans la superposition les fonctionnalités facultatives qui
doivent être désactivées. Si cette propriété n'existe pas, la liste des fonctionnalités facultatives de
les RRO sont toutes activées. Pour en savoir plus sur le VHAL, consultez le
Présentation de VHAL
Utiliser les commandes de débogage shell
Une troisième façon de contrôler les fonctionnalités facultatives à activer ou à désactiver consiste à utiliser un
de commandes shell, qui ne sont disponibles que dans les builds user-debug
et qui sont
mis à disposition par les développeurs. Le tableau de
La liste des fonctionnalités facultatives contient les valeurs à utiliser à la place de
<FEATURE_STRING_VALUE>
Pour activer une fonctionnalité:
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
Pour désactiver une fonctionnalité:
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
Déterminer les fonctionnalités activées
Lors du débogage de problèmes liés à des fonctionnalités spécifiques, il peut être utile de savoir quelles fonctionnalités sont
et pourquoi. Pour vider les informations feature-related
, exécutez la commande suivante:
adb shell dumpsys car_service --services CarFeatureController
Cette commande permet de lister les types d'informations affichés ci-dessous.
Valeur | Description |
---|---|
mEnabledFeatures |
Fonctionnalités actuellement activées. |
mDefaultEnabledFeaturesFromConfig |
Les fonctionnalités facultatives listées dans config_allowed_optional_car_features |
mDisabledFeaturesFromVhal |
les fonctionnalités spécifiées par le VHAL à désactiver dans la propriété VHAL ;
DISABLED_OPTIONAL_FEATURES |
mPendingEnabledFeatures |
Fonctionnalités à activer au redémarrage. |
mPendingDisabledFeatures |
Fonctionnalités à désactiver après un redémarrage. |