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
W tabeli poniżej znajdziesz opcjonalne funkcje sterowania samochodem, które możesz włączać i wyłączać.
Funkcja sterowania samochodem | Wartość ciągu znaków |
---|---|
Usługa EVS w samochodzie | car_evs_service |
Eksperymentalna usługa ochrony kluczyków 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 w samochodzie | car_remote_access_service |
Urządzenie zdalne samochodu | 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 diagnostyki | diagnostic |
Rozpoznawanie użytkowników | 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
Możesz kontrolować obsługę funkcji w kompilacjach na 2 sposoby: za pomocą nakładek zasobów środowiska wykonawczego (RRO) lub za pomocą warstwy VHAL (ang. Hardware Hardware Abstraction Layer).
Użyj RRO
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żywaj VHAL
Warstwa abstrakcji sprzętu w pojazdach (VHAL) steruje funkcjami, pełniąc funkcję listy zablokowanych do wyłączania określonych funkcji opcjonalnych. 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 usługa nie istnieje, wszystkie opcjonalne funkcje z RRO są włączone. Więcej informacji o VHAL znajdziesz w omówieniu VHAL.
Używanie poleceń powłoki debugowania
Trzecią metodą zarządzania tym, 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. 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
Sprawdzanie, które funkcje są włączone
Podczas debugowania problemów związanych z konkretnymi funkcjami warto wiedzieć, 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łączane po ponownym uruchomieniu. |
mPendingDisabledFeatures |
Funkcje, które mają być wyłączone po ponownym uruchomieniu. |