Controllo delle funzionalità dei servizi auto

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, in quanto 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 EVS per auto car_evs_service
Servizio sperimentale di blocco della tastiera per auto experimental_car_keyguard_service
Servizio di navigazione per auto car_navigation_service
Servizio di connessione dei passeggeri delle auto car_occupant_connection_service
Servizio di accesso remoto per auto car_remote_access_service
Servizio dispositivi remoti per auto car_remote_device_service
Servizio di telemetria per auto car_telemetry_service
Servizio di avvisi all'utente dell'auto com.android.car.user.CarUserNoticeService
Cluster Home Service cluster_home_service
Servizio di diagnostica diagnostic
Servizi per la sensibilizzazione degli occupanti occupant_awareness
Servizio di monitoraggio dello spazio di archiviazione storage_monitoring
Servizio di mappe per veicoli vehicle_map_service

Attivazione e disattivazione delle funzionalità di controllo dell'auto

Puoi controllare il supporto delle funzionalità nelle tue build in due modi: overlay di risorse runtime (RRO) o tramite il metodo VHAL (VHAL).

Utilizzare i RRO

Utilizza la configurazione della risorsa denominata config_allowed_optional_car_features, che elenca tutte le funzionalità facoltative che puoi attivare. Al primo avvio di un'auto, è possibile le funzionalità opzionali dell'auto vengono indicate e attivate se non sono inserite nella lista bloccata dalla VHAL. Per saperne di più sugli RRO, consulta Modifica il valore delle risorse di un'app in fase di runtime.

Utilizzare il VHAL

Veicolo Hardware Abstraction Layer (VHAL) controlla le funzionalità fungendo da lista bloccata per disattivare 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 caratteristiche facoltative da tutti gli RRO sono abilitati. Per saperne di più sul VHAL, consulta Panoramica di VHAL.

Utilizzare i comandi della shell di debug

Un terzo modo per controllare quali funzionalità facoltative abilitare o disabilitare è l'utilizzo di un una coppia di comandi shell, che sono disponibili solo nelle build user-debug e sono forniti per l'uso da parte degli sviluppatori. Nella tabella L'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 abilitate

Durante il debug di problemi relativi a funzionalità specifiche, può essere utile sapere quali sono e perché. Per eseguire il dump delle informazioni relative a 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 Le funzionalità specificate dal VHAL devono essere disattivate nella proprietà VHAL. DISABLED_OPTIONAL_FEATURES.
mPendingEnabledFeatures Funzionalità da attivare al riavvio.
mPendingDisabledFeatures Funzionalità da disabilitare dopo un riavvio.