Contrôle des fonctionnalités d'entretien automobile

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.