De forma predeterminada, la mayoría de los servicios de automóviles son obligatorios y siempre están habilitados. Sin embargo, puedes designar un subconjunto de servicios de automóviles como opcional, ya que algunas funciones podrían no en todos los vehículos.
Lista de funciones opcionales
En la siguiente tabla, se indican las funciones opcionales de control del vehículo que puedes habilitar o inhabilitar.
Función de control del vehículo | Valor de cadena |
---|---|
Servicio EVS del automóvil | car_evs_service |
Servicio de bloqueo experimental de un automóvil | experimental_car_keyguard_service |
Servicio de navegación para automóviles | car_navigation_service |
Servicio de conexión de los ocupantes del vehículo | car_occupant_connection_service |
Servicio de acceso remoto de automóviles | car_remote_access_service |
Servicio de dispositivo remoto del vehículo | car_remote_device_service |
Servicio de telemetría del vehículo | car_telemetry_service |
Servicio de aviso para usuarios del vehículo | com.android.car.user.CarUserNoticeService |
Servicio doméstico del clúster | cluster_home_service |
Servicio de diagnóstico | diagnostic |
Visualización de conocimiento de los ocupantes | occupant_awareness |
Servicio de supervisión de almacenamiento | storage_monitoring |
Servicio de mapas para vehículos | vehicle_map_service |
Habilita o inhabilita las funciones de control del vehículo
Puedes controlar la compatibilidad de las funciones en tus compilaciones de dos maneras: superposiciones de recursos de tiempo de ejecución (RRO) o a través de la capa de abstracción de hardware del vehículo (VHAL).
Usa RRO
Usa la configuración de recursos llamada config_allowed_optional_car_features
, que
enumera todas las funciones opcionales que puedes habilitar. Cuando se inicia un automóvil por primera vez, es posible
se señalan las funciones opcionales del vehículo y se habilitan si no están incluidas en la lista de entidades bloqueadas por el VHAL.
Para obtener más información sobre las RRO, consulta
Cambiar el valor de los recursos de una app durante el tiempo de ejecución
Cómo usar la VHAL
La capa de abstracción de hardware del vehículo (VHAL) controla funciones como
lista de entidades bloqueadas para inhabilitar funciones opcionales específicas. La propiedad VHAL llamada
DISABLED_OPTIONAL_FEATURES
enumera las funciones opcionales de la superposición que
se inhabilitarán. Si esta propiedad no existe, la lista de funciones opcionales de
de que estén habilitadas todas las RRO. Para obtener más información sobre el VHAL, consulta la
Descripción general de VHAL.
Cómo usar los comandos de shell de depuración
Una tercera forma de controlar qué funciones opcionales habilitar o inhabilitar es a través del uso de un
par de comandos de shell, que solo están disponibles en compilaciones de user-debug
y se
para que los usen los desarrolladores. La tabla en
La lista de funciones opcionales contiene los valores que se deben usar en lugar de
<FEATURE_STRING_VALUE>
Para habilitar una función, haz lo siguiente:
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
Para inhabilitar una función, haz lo siguiente:
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
Cómo determinar qué funciones están habilitadas
Cuando depuras problemas relacionados con funciones específicas, puede ser útil saber cuáles son
y por qué. Para volcar la información de feature-related
, ejecuta lo siguiente:
adb shell dumpsys car_service --services CarFeatureController
Este comando enumera los tipos de información que se muestran a continuación.
Valor | Descripción |
---|---|
mEnabledFeatures |
Funciones habilitadas actualmente. |
mDefaultEnabledFeaturesFromConfig |
Las funciones opcionales que se mencionan en config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
Las funciones especificadas por el VHAL que se inhabilitarán en la propiedad de VHAL.
DISABLED_OPTIONAL_FEATURES |
mPendingEnabledFeatures |
Funciones que se habilitarán al reiniciar el dispositivo. |
mPendingDisabledFeatures |
Funciones que se inhabilitarán después de reiniciar el dispositivo. |