Per impostazione predefinita, la maggior parte dei servizi per auto sono obbligatori e sempre attivi. Tuttavia, puoi designare un sottoinsieme di servizi per auto come facoltativi perché alcune funzionalità potrebbero non essere supportate in tutte le auto.
Elenco delle funzionalità facoltative
Le funzionalità di controllo dell'auto facoltative che puoi attivare e disattivare sono elencate nella tabella seguente.
Funzionalità di controllo dell'auto | Valore stringa |
---|---|
Servizio Car EVS | car_evs_service |
Servizio sperimentale di protezione delle chiavi dell'auto | experimental_car_keyguard_service |
Servizio di navigazione per auto | car_navigation_service |
Servizio di connessione per gli occupanti dell'auto | car_occupant_connection_service |
Servizio di accesso remoto all'auto | car_remote_access_service |
Servizio di dispositivo di apertura a distanza dell'auto | car_remote_device_service |
Servizio di telemetria dell'auto | car_telemetry_service |
Servizio di notifica per gli utenti di auto | com.android.car.user.CarUserNoticeService |
Servizio di assistenza a domicilio per il cluster | cluster_home_service |
Servizio diagnostico | diagnostic |
Occupant Awareness Service | occupant_awareness |
Servizio di monitoraggio dello spazio di archiviazione | storage_monitoring |
Servizio di mappe per il veicolo | vehicle_map_service |
Attivare e disattivare le funzionalità di controllo dell'auto
Puoi controllare il supporto delle funzionalità nelle tue build in due modi: con overlay delle risorse di runtime (RRO) o tramite l'Hardware Abstraction Layer (VHAL) del veicolo.
Utilizzare gli RRO
Utilizza la configurazione delle risorse denominata config_allowed_optional_car_features
, che
elenca tutte le funzionalità facoltative che puoi attivare. Al primo avvio di un'auto, vengono annotate le possibili
funzionalità opzionali dell'auto, che vengono attivate se non sono incluse nella lista bloccata di VHAL.
Per saperne di più sulle RRO, vedi
Modificare il valore delle risorse di un'app in fase di runtime.
Utilizzare VHAL
Il livello di astrazione hardware del veicolo (VHAL) controlla le funzionalità fungendo da
lista bloccata per disattivare funzionalità opzionali specifiche. La proprietà VHAL denominata
DISABLED_OPTIONAL_FEATURES
elenca le funzionalità facoltative nell'overlay
da disattivare. Se questa proprietà non esiste, vengono attivate tutte le funzionalità facoltative
delle RRO. Per scoprire di più su VHAL, consulta la
panoramica di VHAL.
Utilizzare i comandi della shell di debug
Un terzo modo per controllare quali funzionalità opzionali attivare o disattivare è l'utilizzo di una
coppia di comandi della shell, disponibili solo nelle build user-debug
e
fornite per l'uso da parte degli sviluppatori. La tabella in
Elenco delle funzionalità facoltative contiene i valori da utilizzare al posto di
<FEATURE_STRING_VALUE>
.
Per attivare una funzionalità:
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
Per disattivare una funzionalità:
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
Determinare quali funzionalità sono attive
Quando esegui il debug dei problemi relativi a funzionalità specifiche, può essere utile sapere quali funzionalità sono
attive e perché. Per eseguire il dump delle informazioni di feature-related
, esegui:
adb shell dumpsys car_service --services CarFeatureController
Questo comando elenca i tipi di informazioni mostrati di seguito.
Valore | Descrizione |
---|---|
mEnabledFeatures |
Funzionalità attualmente attive. |
mDefaultEnabledFeaturesFromConfig |
Funzionalità facoltative elencate in config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
Funzionalità specificate da VHAL da disattivare nella proprietà VHAL,
DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures |
Funzionalità da attivare al riavvio. |
mPendingDisabledFeatures |
Funzionalità da disattivare dopo il riavvio. |