Per impostazione predefinita, la maggior parte dei servizi per auto è obbligatoria e sempre attiva. Tuttavia, puoi designare un sottoinsieme di servizi per auto come facoltativo perché alcune funzionalità potrebbero non essere supportate in ogni auto.
Elenco di 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 CarEvs | car_evs_service |
Servizio sperimentale di protezione 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 per auto | car_remote_access_service |
Servizio per dispositivi remoti per auto | car_remote_device_service |
Servizio di telemetria dell'auto | car_telemetry_service |
Servizio di avvisi all'utente dell'auto | com.android.car.user.CarUserNoticeService |
Servizio di casa del cluster | cluster_home_service |
Servizio di diagnostica | diagnostic |
Occupant awareness wervice | 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 gli overlay delle risorse di runtime (RRO) o tramite il Vehicle Hardware Abstraction Layer (VHAL).
Utilizzare le RRO
Utilizza la configurazione della risorsa denominata config_allowed_optional_car_features
, che elenca tutte le funzionalità facoltative che puoi attivare. Quando un'auto viene avviata per la prima volta, le possibili funzionalità facoltative dell'auto vengono registrate e attivate se non sono presenti nella lista bloccata del VHAL.
Per scoprire di più sugli RRO, consulta
Modificare il valore delle risorse di un'app in fase di runtime.
Utilizzare VHAL
Veicolo Hardware Abstraction Layer (VHAL) controlla le funzionalità fungendo da lista bloccata per disabilitare specifiche funzionalità facoltative. La proprietà VHAL denominata
DISABLED_OPTIONAL_FEATURES
elenca le funzionalità facoltative nell'overlay che devono essere disattivate. Se questa proprietà non esiste, l'elenco delle funzionalità facoltative dei RRO è attivato. Per scoprire di più sul VHAL, consulta la panoramica del VHAL.
Utilizzare i comandi shell di debug
Un terzo modo per controllare quali funzionalità facoltative abilitare o disabilitare è tramite l'uso di una coppia di comandi shell, disponibili solo nelle build di user-debug
e forniti per l'uso da parte degli sviluppatori. La tabella in
Elenco di 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 attivate
Quando esegui il debug di problemi relativi a funzionalità specifiche, può essere utile sapere quali funzionalità sono attivate e perché. Per eseguire il dump delle informazioni feature-related
, esegui:
adb shell dumpsys car_service --services CarFeatureController
Questo comando elenca i tipi di informazioni mostrate di seguito.
Valore | Descrizione |
---|---|
mEnabledFeatures |
Funzionalità attualmente attivate. |
mDefaultEnabledFeaturesFromConfig |
Funzionalità facoltative elencate in config_allowed_optional_car_features . |
mDisabledFeaturesFromVhal |
Funzionalità specificate dal VHAL da disattivare nella proprietà VHAL,
DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures |
Funzionalità da attivare al riavvio. |
mPendingDisabledFeatures |
Funzionalità da disabilitare dopo un riavvio. |