Par défaut, la plupart des services de voiture sont obligatoires et sont toujours activés. Cependant, vous pouvez désigner un sous-ensemble de services de voiture comme étant facultatifs , car certaines fonctionnalités peuvent ne pas être prises en charge dans toutes les voitures.
Liste des fonctionnalités optionnelles
Les fonctionnalités facultatives de contrôle de la voiture que vous pouvez activer et désactiver sont répertoriées dans le tableau ci-dessous.
Fonction de contrôle de voiture | Valeur de chaîne |
---|---|
Service SVE automobile | car_evs_service |
Service de protection de clavier expérimental pour voiture | 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 en voiture | car_remote_access_service |
Service d'appareils à distance pour voiture | car_remote_device_service |
Service de télémétrie automobile | car_telemetry_service |
Service d'avis aux usagers de la voiture | com.android.car.user.CarUserNoticeService |
Service d'accueil de cluster | cluster_home_service |
Service de diagnostic | diagnostic |
Service de sensibilisation des occupants | occupant_awareness |
Service de surveillance du stockage | storage_monitoring |
Service de cartographie des véhicules | 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), soit via la couche d'abstraction matérielle du véhicule (VHAL).
Utiliser les RRO
Utilisez la configuration de ressources nommée config_allowed_optional_car_features
, qui répertorie toutes les fonctionnalités facultatives que vous pouvez activer. Lorsqu'une voiture est démarrée pour la première fois, les fonctionnalités optionnelles possibles de la voiture sont notées et sont activées si elles ne sont pas bloquées par le VHAL. Pour en savoir plus sur les RRO, consultez Modifier la valeur des ressources d’une application au moment de l’exécution.
Utilisez le VHAL
La couche d'abstraction matérielle du véhicule (VHAL) contrôle les fonctionnalités en servant de liste de blocage pour désactiver des fonctionnalités facultatives spécifiques. La propriété VHAL nommée DISABLED_OPTIONAL_FEATURES
répertorie les fonctionnalités facultatives de la superposition qui doivent être désactivées. Si cette propriété n'existe pas, alors la liste des fonctionnalités facultatives des RRO sont toutes activées. Pour en savoir plus sur le VHAL, consultez la présentation du VHAL .
Utiliser les commandes du shell de débogage
Une troisième façon de contrôler les fonctionnalités facultatives à activer ou à désactiver consiste à utiliser une paire de commandes shell, qui sont disponibles uniquement dans les versions user-debug
et sont fournies pour être utilisées par les développeurs. Le tableau dans 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 quelles fonctionnalités sont 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 activées et pourquoi. Pour vider les informations feature-related
, exécutez :
adb shell dumpsys car_service --services CarFeatureController
Cette commande répertorie les types d'informations affichés ci-dessous.
Valeur | Description |
---|---|
mEnabledFeatures | Fonctionnalités actuellement activées. |
mDefaultEnabledFeaturesFromConfig | Fonctionnalités facultatives répertoriées dans config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal | Fonctionnalités spécifiées par le VHAL à désactiver dans la propriété VHAL, DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures | Fonctionnalités à activer lors d'un redémarrage. |
mPendingDisabledFeatures | Fonctionnalités à désactiver après un redémarrage. |