Per impostazione predefinita, la maggior parte dei servizi automobilistici sono obbligatori e sono sempre abilitati. Tuttavia, puoi designare un sottoinsieme di servizi per auto come facoltativi poiché alcune funzionalità potrebbero non essere supportate in tutte le auto.
Elenco delle funzionalità opzionali
Le funzioni opzionali di controllo dell'auto che puoi abilitare e disabilitare sono elencate nella tabella seguente.
Funzione di controllo dell'auto | Valore stringa |
---|---|
Servizio SVE per auto | car_evs_service |
Servizio di protezione tastiera sperimentale per auto | experimental_car_keyguard_service |
Servizio di navigazione per auto | car_navigation_service |
Servizio di connessione degli occupanti dell'auto | car_occupant_connection_service |
Servizio di accesso remoto per auto | car_remote_access_service |
Servizio di dispositivi remoti per auto | car_remote_device_service |
Servizio di telemetria auto | car_telemetry_service |
Servizio avvisi utente auto | com.android.car.user.CarUserNoticeService |
Servizio a domicilio cluster | cluster_home_service |
Servizio diagnostico | diagnostic |
Servizio di sensibilizzazione degli occupanti | occupant_awareness |
Servizio di monitoraggio dello stoccaggio | storage_monitoring |
Servizio mappe veicoli | vehicle_map_service |
Abilita e disabilita le funzionalità di controllo dell'auto
Puoi controllare il supporto per le funzionalità nelle tue build in due modi: con gli overlay delle risorse di runtime (RRO) o tramite il Vehicle Hardware Abstraction Layer (VHAL).
Usa le RRO
Utilizza la configurazione della risorsa denominata config_allowed_optional_car_features
, che elenca tutte le funzionalità opzionali che puoi abilitare. Quando un'auto viene avviata per la prima volta, vengono annotate le possibili funzionalità opzionali dell'auto e vengono abilitate se non sono bloccate dal VHAL. Per ulteriori informazioni sugli RRO, vedi Modificare il valore delle risorse di un'app in fase di esecuzione.
Usa il VHAL
Il Vehicle Hardware Abstraction Layer (VHAL) controlla le funzionalità fungendo da blocklist per disabilitare specifiche funzionalità opzionali. La proprietà VHAL denominata DISABLED_OPTIONAL_FEATURES
elenca le funzionalità facoltative nell'overlay che devono essere disabilitate. Se questa proprietà non esiste, l'elenco delle funzionalità opzionali delle RRO è tutto abilitato. Per ulteriori informazioni su VHAL, vedere la panoramica VHAL .
Utilizza i comandi della shell di debug
Un terzo modo per controllare quali funzionalità opzionali abilitare o disabilitare è attraverso l'uso di una coppia di comandi shell, disponibili solo nelle build user-debug
e forniti per l'utilizzo da parte degli sviluppatori. La tabella in Elenco delle funzionalità facoltative contiene i valori da utilizzare al posto di <FEATURE_STRING_VALUE>
.
Per abilitare 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
Determina quali funzionalità sono abilitate
Durante il debug di problemi relativi a funzionalità specifiche, può essere utile sapere quali funzionalità sono abilitate e perché. Per scaricare le informazioni feature-related
, eseguire:
adb shell dumpsys car_service --services CarFeatureController
Questo comando elenca i tipi di informazioni mostrati di seguito.
Valore | Descrizione |
---|---|
mEnabledFeatures | Funzionalità attualmente abilitate. |
mDefaultEnabledFeaturesFromConfig | Funzionalità opzionali elencate in config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal | Funzionalità specificate dal VHAL da disabilitare nella proprietà VHAL, DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures | Funzionalità da abilitare al riavvio. |
mPendingDisabledFeatures | Funzionalità da disabilitare dopo il riavvio. |