Domyślnie większość usług samochodowych jest obowiązkowa i zawsze włączona. Można jednak wyznaczyć podzbiór usług samochodowych jako opcjonalnych , ponieważ niektóre funkcje mogą nie być obsługiwane w każdym samochodzie.
Lista opcjonalnych funkcji
Opcjonalne funkcje sterowania samochodem, które można włączać i wyłączać, wymieniono w poniższej tabeli.
Funkcja sterowania samochodem | Wartość ciągu |
---|---|
Usługa EVS samochodu | car_evs_service |
Eksperymentalna usługa kluczyka samochodowego | experimental_car_keyguard_service |
Usługa nawigacji samochodowej | car_navigation_service |
Usługa podłączenia pasażera samochodu | car_occupant_connection_service |
Usługa zdalnego dostępu do samochodu | car_remote_access_service |
Serwis urządzeń zdalnych w samochodzie | car_remote_device_service |
Usługa telemetrii samochodowej | car_telemetry_service |
Usługa powiadamiania użytkowników samochodów | com.android.car.user.CarUserNoticeService |
Usługa domowa klastra | cluster_home_service |
Usługa diagnostyczna | diagnostic |
Usługa informowania mieszkańców | occupant_awareness |
Usługa monitorowania składowania | storage_monitoring |
Usługa map pojazdów | vehicle_map_service |
Włącz i wyłącz funkcje sterowania samochodem
Możesz kontrolować obsługę funkcji w swoich kompilacjach na jeden z dwóch sposobów: za pomocą nakładek zasobów wykonawczych (RRO) lub poprzez warstwę abstrakcji sprzętu pojazdu (VHAL).
Użyj RRO
Użyj konfiguracji zasobów o nazwie config_allowed_optional_car_features
, która zawiera listę wszystkich opcjonalnych funkcji, które możesz włączyć. Kiedy samochód jest uruchamiany po raz pierwszy, odnotowywane są możliwe opcjonalne funkcje samochodu i włączane, jeśli nie znajdują się na liście zablokowanych przez VHAL. Aby dowiedzieć się więcej o RRO, zobacz Zmienianie wartości zasobów aplikacji w czasie wykonywania.
Skorzystaj z VHALA
Warstwa abstrakcji sprzętu pojazdu (VHAL) kontroluje funkcje, służąc jako lista blokowania w celu wyłączenia określonych funkcji opcjonalnych. Właściwość VHAL o nazwie DISABLED_OPTIONAL_FEATURES
zawiera listę opcjonalnych funkcji nakładki, które należy wyłączyć. Jeśli ta właściwość nie istnieje, wszystkie opcjonalne funkcje RRO są włączone. Aby dowiedzieć się więcej o VHAL, zobacz przegląd VHAL .
Użyj poleceń powłoki debugowania
Trzeci sposób kontrolowania, które opcjonalne funkcje mają być włączane lub wyłączane, polega na użyciu pary poleceń powłoki, które są dostępne tylko w kompilacjach user-debug
i udostępniane do użytku programistom. 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
Określ, które funkcje są włączone
Podczas debugowania problemów związanych z określonymi funkcjami przydatna może być wiedza, 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 listę typów informacji pokazanych poniżej.
Wartość | Opis |
---|---|
mEnabledFeatures | Aktualnie włączone funkcje. |
mDefaultEnabledFeaturesFromConfig | Opcjonalne funkcje 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 należy włączyć po ponownym uruchomieniu. |
mPendingDisabledFeatures | Funkcje, które należy wyłączyć po ponownym uruchomieniu. |