Kontrola funkcji usługi samochodowej

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

Lista funkcji opcjonalnych

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

Funkcja sterowania samochodem Wartość ciągu znaków
Usługa EVS w samochodzie car_evs_service
Eksperymentalna usługa ochrony kluczy w samochodzie experimental_car_keyguard_service
Usługa nawigacji samochodowej car_navigation_service
Usługa łączenia się z pasażerami car_occupant_connection_service
Usługa zdalnego dostępu do samochodu car_remote_access_service
Usługa zdalnego sterowania samochodem car_remote_device_service
Usługa telemetrii w samochodzie car_telemetry_service
Usługa powiadomień dla użytkowników samochodów com.android.car.user.CarUserNoticeService
Usługa domowy klaster cluster_home_service
Usługa diagnostyczna diagnostic
System wykrywania obecności occupant_awareness
Usługa monitorowania miejsca na dane storage_monitoring
usługa map dla pojazdów, vehicle_map_service

Włączanie i wyłączanie funkcji sterowania samochodem

Obsługę funkcji w kompilacji możesz kontrolować na 2 sposoby: za pomocą nakładek zasobów w czasie wykonywania (RRO) lub za pomocą warstwy abstrakcji sprzętu pojazdu (VHAL).

Korzystanie z ROD

Użyj konfiguracji zasobu o nazwie config_allowed_optional_car_features, która zawiera listę wszystkich opcjonalnych funkcji, które możesz włączyć. Gdy samochód jest uruchamiany po raz pierwszy, możliwe funkcje opcjonalne są zaznaczane i włączane, jeśli nie są zablokowane przez VHAL. Więcej informacji o RRO znajdziesz w artykule Zmienianie wartości zasobów aplikacji w czasie wykonywania.

Używanie VHAL

Warstwę abstrakcji sprzętu pojazdu (VHAL) kontroluje funkcje, działając jako lista zablokowanych funkcji, aby wyłączyć określone funkcje opcjonalne. W usłudze VHAL o nazwie DISABLED_OPTIONAL_FEATURES wymienione są opcjonalne funkcje nakładki, które mają zostać wyłączone. Jeśli ta usługa nie istnieje, lista opcjonalnych funkcji z RRO jest włączona. Więcej informacji o VHAL znajdziesz w artykule Omówienie VHAL.

Używanie poleceń powłoki debugowania

Trzecią metodą kontrolowania, które funkcje opcjonalne mają być włączone lub wyłączone, jest użycie pary poleceń w powłoce, które są dostępne tylko w kompilacji user-debug i są przeznaczone do użytku przez programistów. Wartości, których należy używać zamiast wartości <FEATURE_STRING_VALUE>, znajdziesz w tabeli Lista opcjonalnych funkcji.

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ślanie, które funkcje są włączone

Podczas debugowania problemów związanych z konkretnymi funkcjami przydatne może być sprawdzenie, które funkcje są włączone i dlaczego. Aby wygenerować informacje feature-related, uruchom:

adb shell dumpsys car_service --services CarFeatureController

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

Wartość Opis
mEnabledFeatures Obecnie włączone funkcje.
mDefaultEnabledFeaturesFromConfig Funkcje opcjonalne 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 mają być włączone po ponownym uruchomieniu.
mPendingDisabledFeatures Funkcje, które mają być wyłączone po ponownym uruchomieniu.