Kontrola funkcji serwisu samochodowego

Domyślnie większość usług samochodowych jest obowiązkowa i zawsze włączona. Można jednak wyznaczyć podzbiór usług samochodowych jako opcjonalnych , ponieważ niektóre funkcje mogą nie być obsługiwane w każdym samochodzie.

Lista opcjonalnych funkcji

Opcjonalne funkcje sterowania samochodem, które można włączać i wyłączać, wymieniono w poniższej tabeli.

Funkcja sterowania samochodem Wartość ciągu
Usługa EVS samochodu car_evs_service
Eksperymentalna usługa kluczyka samochodowego experimental_car_keyguard_service
Usługa nawigacji samochodowej car_navigation_service
Usługa podłączenia pasażera samochodu car_occupant_connection_service
Usługa zdalnego dostępu do samochodu car_remote_access_service
Serwis urządzeń zdalnych w samochodzie car_remote_device_service
Usługa telemetrii samochodowej car_telemetry_service
Usługa powiadamiania użytkowników samochodów com.android.car.user.CarUserNoticeService
Usługa domowa klastra cluster_home_service
Usługa diagnostyczna diagnostic
Usługa informowania mieszkańców occupant_awareness
Usługa monitorowania składowania storage_monitoring
Usługa map pojazdów vehicle_map_service

Włącz i wyłącz funkcje sterowania samochodem

Możesz kontrolować obsługę funkcji w swoich kompilacjach na jeden z dwóch sposobów: za pomocą nakładek zasobów wykonawczych (RRO) lub poprzez warstwę abstrakcji sprzętu pojazdu (VHAL).

Użyj RRO

Użyj konfiguracji zasobów o nazwie config_allowed_optional_car_features , która zawiera listę wszystkich opcjonalnych funkcji, które możesz włączyć. Kiedy samochód jest uruchamiany po raz pierwszy, odnotowywane są możliwe opcjonalne funkcje samochodu i włączane, jeśli nie znajdują się na liście zablokowanych przez VHAL. Aby dowiedzieć się więcej o RRO, zobacz Zmienianie wartości zasobów aplikacji w czasie wykonywania.

Skorzystaj z VHALA

Warstwa abstrakcji sprzętu pojazdu (VHAL) kontroluje funkcje, służąc jako lista blokowania w celu wyłączenia określonych funkcji opcjonalnych. Właściwość VHAL o nazwie DISABLED_OPTIONAL_FEATURES zawiera listę opcjonalnych funkcji nakładki, które należy wyłączyć. Jeśli ta właściwość nie istnieje, wszystkie opcjonalne funkcje RRO są włączone. Aby dowiedzieć się więcej o VHAL, zobacz przegląd VHAL .

Użyj poleceń powłoki debugowania

Trzeci sposób kontrolowania, które opcjonalne funkcje mają być włączane lub wyłączane, polega na użyciu pary poleceń powłoki, które są dostępne tylko w kompilacjach user-debug i udostępniane do użytku programistom. Tabela na liście funkcji opcjonalnych zawiera wartości, których należy użyć zamiast <FEATURE_STRING_VALUE> .

Aby włączyć funkcję:

adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot

Aby wyłączyć funkcję:

adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot

Określ, które funkcje są włączone

Podczas debugowania problemów związanych z określonymi funkcjami przydatna może być wiedza, które funkcje są włączone i dlaczego. Aby zrzucić informacje feature-related , uruchom:

adb shell dumpsys car_service --services CarFeatureController

To polecenie wyświetla listę typów informacji pokazanych poniżej.

Wartość Opis
mEnabledFeatures Aktualnie włączone funkcje.
mDefaultEnabledFeaturesFromConfig Opcjonalne funkcje wymienione w config_allowed_optional_car_features .
mDisabledFeaturesFromVhal Funkcje określone przez VHAL, które mają być wyłączone we właściwości VHAL, DISABLED_OPTIONAL_FEATURES .
mPendingEnabledFeatures Funkcje, które należy włączyć po ponownym uruchomieniu.
mPendingDisabledFeatures Funkcje, które należy wyłączyć po ponownym uruchomieniu.