Control de funciones de servicio de automóvil

De forma predeterminada, la mayoría de los servicios de automóvil son obligatorios y siempre están habilitados. Sin embargo, puede designar un subconjunto de servicios para automóvil como opcional porque es posible que algunas funciones no sean compatibles con todos los automóviles.

Lista de características opcionales

Las funciones de control del automóvil opcionales que puede habilitar y deshabilitar se enumeran en la siguiente tabla.

Función de control del coche Valor de cadena
Servicio SVE para coche car_evs_service
Servicio de guardallaves experimental para coche. experimental_car_keyguard_service
Servicio de navegación para automóviles car_navigation_service
Servicio de conexión de ocupantes del coche car_occupant_connection_service
Servicio de acceso remoto para coche car_remote_access_service
Servicio de dispositivo remoto para automóvil car_remote_device_service
Servicio de telemetría del coche car_telemetry_service
Servicio de avisos al usuario del vehículo. com.android.car.user.CarUserNoticeService
Servicio a domicilio en cluster cluster_home_service
Servicio de diagnostico diagnostic
Servicio de sensibilización a los ocupantes. occupant_awareness
Servicio de seguimiento de almacenamiento storage_monitoring
Servicio de mapas de vehículos vehicle_map_service

Activar y desactivar funciones de control del automóvil

Puede controlar la compatibilidad con funciones en sus compilaciones de dos maneras: con superposiciones de recursos de tiempo de ejecución (RRO) o mediante la capa de abstracción de hardware del vehículo (VHAL).

Utilice RRO

Utilice la configuración de recursos denominada config_allowed_optional_car_features , que enumera todas las funciones opcionales que puede habilitar. Cuando un automóvil se arranca por primera vez, las posibles funciones opcionales del automóvil se anotan y se habilitan si no están bloqueadas por VHAL. Para obtener más información sobre RRO, consulte Cambiar el valor de los recursos de una aplicación en tiempo de ejecución.

Utilice el VHAL

La capa de abstracción de hardware del vehículo (VHAL) controla las funciones sirviendo como una lista de bloqueo para desactivar funciones opcionales específicas. La propiedad VHAL denominada DISABLED_OPTIONAL_FEATURES enumera las funciones opcionales en la superposición que se deben deshabilitar. Si esta propiedad no existe, entonces la lista de funciones opcionales de los RRO está habilitada. Para obtener más información sobre VHAL, consulte la descripción general de VHAL .

Usar comandos de shell de depuración

Una tercera forma de controlar qué funciones opcionales habilitar o deshabilitar es mediante el uso de un par de comandos de shell, que están disponibles solo en compilaciones user-debug y se proporcionan para que los utilicen los desarrolladores. La tabla en Lista de características opcionales contiene los valores que se usarán en lugar de <FEATURE_STRING_VALUE> .

Para habilitar una función:

adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot

Para desactivar una función:

adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot

Determinar qué funciones están habilitadas

Al depurar problemas relacionados con funciones específicas, puede resultar útil saber qué funciones están habilitadas y por qué. Para volcar información feature-related , ejecute:

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 actualmente habilitadas.
mDefaultEnabledFeaturesFromConfig Funciones opcionales enumeradas en config_allowed_optional_car_features .
mDisabledFeaturesFromVhal Funciones especificadas por VHAL que se deshabilitarán en la propiedad VHAL, DISABLED_OPTIONAL_FEATURES .
mPendingEnabledFeatures Funciones que se habilitarán al reiniciar.
mPendingDisabledFeatures Funciones que se desactivarán después de reiniciar.