Par défaut, la plupart des services automobiles sont obligatoires et toujours activés. Toutefois, vous pouvez désigner un sous-ensemble de services automobiles comme facultatifs, car il est possible que certaines fonctionnalités ne soient pas prises en charge dans toutes les voitures.
Liste des fonctionnalités optionnelles
Les fonctionnalités de contrôle de la voiture 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 |
---|---|
Car EVS Service | car_evs_service |
Service expérimental de protection du clavier de voiture | experimental_car_keyguard_service |
Service de navigation automobile | car_navigation_service |
Service de connexion des occupants du véhicule | car_occupant_connection_service |
Service d'accès à distance à la voiture | car_remote_access_service |
Service de télécommande de voiture | car_remote_device_service |
Service de télémétrie de la voiture | car_telemetry_service |
Service d'avis aux utilisateurs de voitures | com.android.car.user.CarUserNoticeService |
Service Cluster Home | cluster_home_service |
Service de diagnostic | diagnostic |
Service de perception 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 : avec des overlays de ressources d'exécution (RRO) ou 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 liste toutes les fonctionnalités facultatives que vous pouvez activer. Lors du premier démarrage d'une voiture, les fonctionnalités optionnelles possibles sont notées et activées si elles ne sont pas bloquées par la VHAL.
Pour en savoir plus sur les RRO, consultez Modifier la valeur des ressources d'une application au moment de l'exécution.
Utiliser la 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 optionnelles spécifiques. La propriété VHAL nommée DISABLED_OPTIONAL_FEATURES
liste les fonctionnalités optionnelles de la superposition à désactiver. Si cette propriété n'existe pas, la liste des fonctionnalités facultatives des RRO est entièrement activée. Pour en savoir plus sur la VHAL, consultez la présentation de la 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 ne sont disponibles que dans les versions user-debug
et sont fournies pour être utilisées par les développeurs. Le tableau de la section 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
Lorsque vous déboguez des 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 la commande suivante :
adb shell dumpsys car_service --services CarFeatureController
Cette commande liste les types d'informations indiqués ci-dessous.
Valeur | Description |
---|---|
mEnabledFeatures |
Fonctionnalités actuellement activées. |
mDefaultEnabledFeaturesFromConfig |
Fonctionnalités facultatives listées dans config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
Fonctionnalités spécifiées par la VHAL comme étant désactivées 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. |