Controle de recursos do conserto do carro

Por padrão, a maioria dos serviços automotivos é obrigatória e está sempre ativada. No entanto, é possível designar um subconjunto de serviços automotivos como opcional porque alguns recursos podem não ter suporte em todos os carros.

Lista de recursos opcionais

Os recursos opcionais de controle do carro que você pode ativar e desativar estão listados na tabela abaixo.

Recurso de controle do carro Valor de string
Serviço de VES para carros car_evs_service
Serviço de proteção de teclado experimental para carros experimental_car_keyguard_service
Serviço de navegação para carros car_navigation_service
Serviço de conexão com ocupantes de carro car_occupant_connection_service
Serviço de acesso remoto ao carro car_remote_access_service
Serviço de controle remoto do carro car_remote_device_service
Serviço de telemetria do carro car_telemetry_service
Serviço de notificação ao usuário do carro com.android.car.user.CarUserNoticeService
Serviço doméstico de cluster cluster_home_service
Serviço de diagnóstico diagnostic
Recurso de conscientização de ocupantes occupant_awareness
Serviço de monitoramento do Cloud Storage storage_monitoring
Serviço de mapa veicular vehicle_map_service

Ativar e desativar recursos de controle do carro

É possível controlar o suporte a recursos nos builds de duas maneiras: sobreposições de recursos no momento da execução (RROs, na sigla em inglês) ou pela camada de abstração de hardware do veículo (VHAL, na sigla em inglês).

Usar RROs

Use a configuração de recurso config_allowed_optional_car_features, que lista todos os recursos opcionais que podem ser ativados. Ao inicializar o carro pela primeira vez, é possível os recursos opcionais do carro são observados e ativados se não estiverem na lista de bloqueio pela VHAL. Para saber mais sobre RROs, consulte Mudar o valor dos recursos de um app durante a execução.

Usar a VHAL

A Camada de abstração de hardware do veículo (VHAL, na sigla em inglês) controla os recursos atuando como um lista de bloqueio para desativar recursos opcionais específicos. A propriedade VHAL chamada DISABLED_OPTIONAL_FEATURES lista os recursos opcionais na sobreposição que precisam ser desativados. Se essa propriedade não existir, a lista de recursos opcionais do as RROs estão ativadas. Para saber mais sobre a VHAL, consulte a Visão geral da VHAL.

Usar comandos de depuração do shell

Uma terceira maneira de controlar quais recursos opcionais ativar ou desativar é através do uso de um par de comandos shell, que estão disponíveis apenas em builds user-debug e são para uso dos desenvolvedores. A tabela em Lista de recursos opcionais contém os valores a serem usados em vez de <FEATURE_STRING_VALUE>

Para ativar um recurso:

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

Para desativar um recurso:

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

Determinar quais recursos estão ativados

Ao depurar problemas relacionados a recursos específicos, pode ser útil saber quais recursos estão ativado e por quê. Para despejar informações de feature-related, execute:

adb shell dumpsys car_service --services CarFeatureController

Esse comando lista os tipos de informação mostrados abaixo.

Valor Descrição
mEnabledFeatures Recursos ativados no momento.
mDefaultEnabledFeaturesFromConfig Recursos opcionais listados em config_allowed_optional_car_features.
mDisabledFeaturesFromVhal recursos especificados pela VHAL a serem desativados na propriedade VHAL; DISABLED_OPTIONAL_FEATURES:
mPendingEnabledFeatures Recursos que serão ativados após a reinicialização.
mPendingDisabledFeatures Recursos que serão desativados após a reinicialização.