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