Steuerung der Autodienstfunktionen

Die meisten Autodienste sind standardmäßig obligatorisch und immer aktiviert. Sie können jedoch eine Teilmenge der Autoservices als optional festlegen, da einige Funktionen möglicherweise nicht in jedem Auto unterstützt werden.

Liste der optionalen Funktionen

Die optionalen Funktionen zur Fahrzeugsteuerung, die Sie aktivieren und deaktivieren können, sind in der Tabelle unten aufgeführt.

Funktion zur Fahrzeugsteuerung Stringwert
Car EVS Service car_evs_service
Experimenteller Autoschlüssel-Schutzdienst experimental_car_keyguard_service
Fahrzeugnavigationsdienst car_navigation_service
Verbindungsdienst für Fahrzeuginsassen car_occupant_connection_service
Fernzugriff auf das Auto car_remote_access_service
Service für Autoschlüssel car_remote_device_service
Telemetriedienst des Autos car_telemetry_service
Benachrichtigungsdienst für Autofahrer com.android.car.user.CarUserNoticeService
Dienst für das Zuhause-Cluster cluster_home_service
Diagnosedienst diagnostic
Occupant Awareness Service occupant_awareness
Speicherüberwachungsdienst storage_monitoring
Fahrzeugkartendienst vehicle_map_service

Funktionen zur Autosteuerung aktivieren und deaktivieren

Sie können die Unterstützung für Funktionen in Ihren Builds auf zwei Arten steuern: entweder mit Laufzeit-Ressourcen-Overlays (RROs) oder über die Vehicle Hardware Abstraction Layer (VHAL).

RROs verwenden

Verwenden Sie die Ressourcenkonfiguration mit dem Namen config_allowed_optional_car_features, in der alle optionalen Funktionen aufgeführt sind, die Sie aktivieren können. Beim ersten Starten eines Autos werden mögliche optionale Funktionen des Autos erkannt und aktiviert, sofern sie nicht von der VHAL auf der Sperrliste stehen. Weitere Informationen zu RROs finden Sie unter Den Wert der Ressourcen einer App zur Laufzeit ändern.

VHAL verwenden

Der Vehicle Hardware Abstraction Layer (VHAL) steuert Funktionen, indem er als Sperrliste zum Deaktivieren bestimmter optionaler Funktionen dient. Die VHAL-Property mit dem Namen DISABLED_OPTIONAL_FEATURES listet die optionalen Funktionen im Overlay auf, die deaktiviert werden sollen. Wenn diese Eigenschaft nicht vorhanden ist, sind alle optionalen Funktionen aus den RROs aktiviert. Weitere Informationen zum VHAL finden Sie in der VHAL-Übersicht.

Debug-Shell-Befehle verwenden

Eine dritte Möglichkeit, optionale Funktionen zu aktivieren oder zu deaktivieren, ist die Verwendung eines Paars von Shell-Befehlen, die nur in user-debug-Builds verfügbar sind und von Entwicklern verwendet werden können. Die Tabelle in Liste der optionalen Funktionen enthält die Werte, die anstelle von <FEATURE_STRING_VALUE> verwendet werden sollen.

So aktivieren Sie ein Feature:

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

Ermitteln, 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

Mit diesem Befehl werden die unten aufgeführten Informationen angezeigt.

Wert Beschreibung
mEnabledFeatures Derzeit aktivierte Funktionen.
mDefaultEnabledFeaturesFromConfig Optionale Funktionen, die in config_allowed_optional_car_features aufgeführt sind.
mDisabledFeaturesFromVhal Funktionen, die von der VHAL als deaktiviert angegeben werden, in der VHAL-Eigenschaft DISABLED_OPTIONAL_FEATURES.
mPendingEnabledFeatures Funktionen, die nach einem Neustart aktiviert werden sollen.
mPendingDisabledFeatures Funktionen, die nach einem Neustart deaktiviert werden sollen.