De forma predeterminada, la mayoría de los servicios para automóviles son obligatorios y siempre están habilitados. Sin embargo, puedes designar un subconjunto de servicios de automóviles como opcionales porque es posible que algunas funciones no sean compatibles con todos los automóviles.
Lista de funciones opcionales
En la siguiente tabla, se enumeran las funciones opcionales de control del automóvil que puedes habilitar o inhabilitar.
Función de control del automóvil | Valor de cadena |
---|---|
Servicio EVS del vehículo | car_evs_service |
Servicio experimental de protección de llaves para automóviles | experimental_car_keyguard_service |
Servicio de navegación para automóviles | car_navigation_service |
Servicio de conexión para ocupantes del automóvil | car_occupant_connection_service |
Servicio de acceso remoto al automóvil | car_remote_access_service |
Servicio de dispositivos remotos para automóviles | car_remote_device_service |
Servicio de telemetría del automóvil | car_telemetry_service |
Servicio de aviso al usuario del automóvil | com.android.car.user.CarUserNoticeService |
Servicio a domicilio de Cluster | cluster_home_service |
Servicio de diagnóstico | diagnostic |
Servicio de detección de ocupantes | occupant_awareness |
Servicio de supervisión del almacenamiento | storage_monitoring |
Servicio de mapas para vehículos | vehicle_map_service |
Cómo habilitar y inhabilitar las funciones de control del automóvil
Puedes controlar la compatibilidad con las funciones en tus compilaciones de dos maneras: con superposiciones de recursos en tiempo de ejecución (RRO) o a través de la capa de abstracción de hardware del vehículo (VHAL).
Usa las 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, se registran las posibles funciones opcionales del automóvil y se habilitan si la VHAL no las incluye en la lista de bloqueo.
Para obtener más información sobre las RRO, consulta Cómo cambiar el valor de los recursos de una app en el tiempo de ejecución.
Usa la VHAL
La capa de abstracción de hardware del vehículo (VHAL) controla las funciones actuando como una lista de bloqueo para inhabilitar funciones opcionales específicas. La propiedad de VHAL llamada DISABLED_OPTIONAL_FEATURES
enumera las funciones opcionales de la superposición que se deben inhabilitar. Si esta propiedad no existe, se habilitan todos los componentes opcionales de los RR.OO. Para obtener más información sobre la VHAL, consulta la descripción general de la VHAL.
Cómo usar comandos de depuración del shell
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 las compilaciones de user-debug
y se proporcionan para que los usen los desarrolladores. La tabla en Lista de atributos opcionales contiene los valores que se deben usar en lugar de <FEATURE_STRING_VALUE>
.
Para habilitar una función, sigue estos pasos:
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
Para inhabilitar una función, sigue estos pasos:
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
Cómo determinar qué funciones están habilitadas
Cuando depures problemas relacionados con funciones específicas, puede ser útil saber qué funciones están habilitadas 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 |
Son las funciones habilitadas actualmente. |
mDefaultEnabledFeaturesFromConfig |
Son las funciones opcionales que se indican en config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
Son las funciones especificadas por el VHAL que se deben inhabilitar en la propiedad del VHAL, DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures |
Son las funciones que se habilitarán cuando se reinicie el dispositivo. |
mPendingDisabledFeatures |
Son las funciones que se inhabilitarán después de un reinicio. |