Steuerung der Autoservice-Funktionen

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