Kontrola funkcji usługi samochodowej

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

Lista funkcji opcjonalnych

W tabeli poniżej znajdziesz listę opcjonalnych funkcji sterowania samochodem, które możesz włączać i wyłączać.

Funkcja sterowania samochodem Wartość łańcuchowa
Usługa EVS w samochodzie car_evs_service
Eksperymentalna usługa blokady ekranu w samochodzie experimental_car_keyguard_service
Usługa nawigacji w samochodzie car_navigation_service
Usługa połączeń z pasażerami w samochodzie car_occupant_connection_service
Usługa zdalnego dostępu do samochodu car_remote_access_service
Usługa zdalnego dostępu do urządzenia w samochodzie car_remote_device_service
Usługa telemetrii w samochodzie car_telemetry_service
Usługa powiadomień dla użytkowników w samochodzie com.android.car.user.CarUserNoticeService
Usługa ekranu głównego klastra cluster_home_service
Usługa diagnostyczna diagnostic
Usługa wykrywania obecności pasażera occupant_awareness
Usługa monitorowania pamięci storage_monitoring
Usługa map dla pojazdów vehicle_map_service

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

Obsługę funkcji w kompilacjach możesz kontrolować na 2 sposoby: za pomocą nakładek zasobów środowiska wykonawczego (RRO) lub za pomocą warstwy abstrakcji sprzętowej pojazdu (VHAL).

Korzystanie z RRO

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

Korzystanie z VHAL

Warstwa abstrakcji sprzętowej pojazdu (VHAL) kontroluje funkcje, służąc jako lista zablokowanych, która wyłącza określone funkcje opcjonalne. Właściwość VHAL o nazwie DISABLED_OPTIONAL_FEATURES zawiera listę funkcji opcjonalnych w nakładce, które mają zostać wyłączone. Jeśli ta właściwość nie istnieje, wszystkie funkcje opcjonalne z RRO są włączone. Więcej informacji o VHAL znajdziesz w artykule Omówienie VHAL.

Korzystanie z poleceń powłoki debugowania

Trzecim sposobem na kontrolowanie, które funkcje opcjonalne mają być włączone lub wyłączone, jest użycie pary poleceń powłoki, które są dostępne tylko w kompilacjach user-debug i są przeznaczone do użytku przez deweloperów. Tabela w sekcji Lista 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

Sprawdzanie, które funkcje są włączone

Podczas debugowania problemów związanych z określonymi funkcjami pomocne może być sprawdzenie, 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 typy informacji podane 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 jako wyłączone we właściwości VHAL, DISABLED_OPTIONAL_FEATURES.
mPendingEnabledFeatures Funkcje, które mają zostać włączone po ponownym uruchomieniu.
mPendingDisabledFeatures Funkcje, które mają zostać wyłączone po ponownym uruchomieniu.