Controle de recursos de serviço automotivo

Por padrão, a maioria dos serviços automotivos são obrigatórios e estão sempre ativados. No entanto, você pode designar um subconjunto de serviços de carro como opcional porque alguns recursos podem não ser compatíveis com 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 da sequência
Serviço EVS de carro car_evs_service
Serviço experimental de proteção de teclado para automóveis experimental_car_keyguard_service
Serviço de navegação automóvel car_navigation_service
Serviço de conexão de ocupantes de automóveis car_occupant_connection_service
Serviço de acesso remoto para carro car_remote_access_service
Serviço de dispositivo remoto para carro car_remote_device_service
Serviço de telemetria automotiva car_telemetry_service
Serviço de aviso 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
Serviço de conscientização dos ocupantes occupant_awareness
Serviço de monitoramento de armazenamento storage_monitoring
Serviço de mapas de veículos vehicle_map_service

Ativar e desativar recursos de controle do carro

Você pode controlar o suporte para recursos em suas compilações de duas maneiras: com sobreposições de recursos de tempo de execução (RROs) ou por meio da camada de abstração de hardware do veículo (VHAL).

Usar RROs

Use a configuração de recursos chamada config_allowed_optional_car_features , que lista todos os recursos opcionais que você pode ativar. Quando um carro é inicializado pela primeira vez, possíveis recursos opcionais do carro são anotados e ativados se não estiverem na lista de bloqueio do VHAL. Para saber mais RROs, consulte Alterar o valor dos recursos de um aplicativo em tempo de execução.

Utilize o VHAL

A Camada de Abstração de Hardware do Veículo (VHAL) controla recursos servindo como uma lista de bloqueio para desabilitar recursos opcionais específicos. A propriedade VHAL denominada DISABLED_OPTIONAL_FEATURES lista os recursos opcionais na sobreposição que devem ser desabilitados. Se esta propriedade não existir, então a lista de recursos opcionais dos RROs estará toda habilitada. Para saber mais sobre o VHAL, consulte a visão geral do VHAL .

Use 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 compilações user-debug e são fornecidos para uso pelos 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

Determine quais recursos estão habilitados

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

adb shell dumpsys car_service --services CarFeatureController

Este comando lista os tipos de informações mostrados abaixo.

Valor Descrição
mEnabledFeatures Recursos atualmente habilitados.
mDefaultEnabledFeaturesFromConfig Recursos opcionais listados em config_allowed_optional_car_features .
mDisabledFeaturesFromVhal Recursos especificados pelo VHAL para serem desabilitados na propriedade VHAL, DISABLED_OPTIONAL_FEATURES .
mPendingEnabledFeatures Recursos a serem ativados na reinicialização.
mPendingDisabledFeatures Recursos a serem desativados após uma reinicialização.