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. |