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. |