Standardmäßig sind die meisten Autodienste obligatorisch und immer aktiviert. Sie können jedoch eine Teilmenge der Autodienste als optional kennzeichnen, da einige Funktionen möglicherweise nicht in jedem Auto unterstützt werden.
Liste der optionalen Funktionen
Die optionalen Fahrzeugsteuerungsfunktionen, die Sie aktivieren und deaktivieren können, sind in der folgenden Tabelle aufgeführt.
Autosteuerungsfunktion | String-Wert |
---|---|
Auto-EVS-Service | car_evs_service |
Experimenteller Schlüsselschutzservice für Autos | experimental_car_keyguard_service |
Autonavigationsdienst | car_navigation_service |
Verbindungsdienst für Autoinsassen | car_occupant_connection_service |
Auto-Fernzugriffsdienst | car_remote_access_service |
Service für Auto-Fernbedienungsgeräte | car_remote_device_service |
Autotelemetriedienst | car_telemetry_service |
Benachrichtigungsdienst für Autobenutzer | com.android.car.user.CarUserNoticeService |
Cluster-Heimservice | cluster_home_service |
Diagnosedienst | diagnostic |
Service zur Sensibilisierung der Bewohner | occupant_awareness |
Speicherüberwachungsdienst | storage_monitoring |
Fahrzeugkartendienst | vehicle_map_service |
Aktivieren und deaktivieren Sie die Fahrzeugsteuerungsfunktionen
Sie können die Unterstützung für Funktionen in Ihren Builds auf zwei Arten steuern, entweder mit Runtime Resource Overlays (RROs) oder über den Vehicle Hardware Abstraction Layer (VHAL).
Verwenden Sie RROs
Verwenden Sie die Ressourcenkonfiguration mit dem Namen config_allowed_optional_car_features
, die alle optionalen Funktionen auflistet, die Sie aktivieren können. Wenn ein Fahrzeug zum ersten Mal gestartet wird, werden mögliche optionale Fahrzeugfunktionen notiert und aktiviert, wenn sie nicht auf der Sperrliste des VHAL stehen. Weitere Informationen zu RROs finden Sie unter Ändern des Werts der Ressourcen einer App zur Laufzeit.
Verwenden Sie die VHAL
Der Vehicle Hardware Abstraction Layer (VHAL) steuert Funktionen, indem er als Sperrliste dient, um bestimmte optionale Funktionen zu deaktivieren. Die VHAL-Eigenschaft mit dem Namen DISABLED_OPTIONAL_FEATURES
listet die optionalen Funktionen im Overlay auf, die deaktiviert werden sollen. Wenn diese Eigenschaft nicht vorhanden ist, ist die Liste der optionalen Funktionen der RROs alle aktiviert. Weitere Informationen zum VHAL finden Sie in der VHAL-Übersicht .
Verwenden Sie Debug-Shell-Befehle
Eine dritte Möglichkeit, zu steuern, welche optionalen Funktionen aktiviert oder deaktiviert werden sollen, ist die Verwendung eines Paars von Shell-Befehlen, die nur in user-debug
Builds verfügbar sind und für die Verwendung durch Entwickler bereitgestellt werden. Die Tabelle oben in der Liste der optionalen Funktionen enthält die Werte, die anstelle von <FEATURE_STRING_VALUE>
verwendet werden sollen.
So aktivieren Sie eine Funktion:
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
So deaktivieren Sie eine Funktion:
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
Bestimmen Sie, welche Funktionen aktiviert sind
Beim Debuggen von Problemen im Zusammenhang mit bestimmten Funktionen kann es hilfreich sein zu wissen, welche Funktionen aktiviert sind und warum. Führen Sie Folgendes aus, um feature-related
Informationen auszugeben:
adb shell dumpsys car_service --services CarFeatureController
Dieser Befehl listet die unten angezeigten Informationstypen auf.
Wert | Beschreibung |
---|---|
mEnabledFeatures | Derzeit aktivierte Funktionen. |
mDefaultEnabledFeaturesFromConfig | Optionale Funktionen, die in config_allowed_optional_car_features aufgeführt sind. |
mDisabledFeaturesFromVhal | Von der VHAL angegebene Funktionen, die in der VHAL-Eigenschaft DISABLED_OPTIONAL_FEATURES deaktiviert werden sollen. |
mPendingEnabledFeatures | Funktionen, die bei einem Neustart aktiviert werden sollen. |
mPendingDisabledFeatures | Funktionen, die nach einem Neustart deaktiviert werden sollen. |