Steuerung der Autoservice-Funktion

Die meisten Dienste für Autos sind standardmäßig obligatorisch und immer aktiviert. Sie können jedoch einen Teil der Autodienste als optional kennzeichnen, 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 folgenden Tabelle aufgeführt.

Autosteuerungsfunktion Stringwert
Car EVS Service car_evs_service
Experimenteller Keyguard-Dienst für Autos experimental_car_keyguard_service
Navigationsdienst für Autos car_navigation_service
Insassenverbindungsdienst car_occupant_connection_service
Dienst für den Fernzugriff auf Ihr Auto car_remote_access_service
Dienst für Autofernbedienung car_remote_device_service
Telemetriedienst des Autos car_telemetry_service
Dienst für Benachrichtigungen an Autonutzer com.android.car.user.CarUserNoticeService
Cluster Home-Dienst 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 von 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. Dort sind alle optionalen Funktionen aufgeführt, die Sie aktivieren können. Wenn ein Auto zum ersten Mal gestartet wird, werden mögliche optionale Fahrzeugfunktionen erkannt und aktiviert, sofern sie nicht von der VHAL auf die Blockierungsliste gesetzt wurden. Weitere Informationen zu RROs finden Sie unter Wert der Ressourcen einer App zur Laufzeit ändern.

VHAL verwenden

Die Vehicle Hardware Abstraction Layer (VHAL) steuert Funktionen, indem sie als Sperrliste dient, um bestimmte optionale Funktionen zu deaktivieren. In der VHAL-Property namens DISABLED_OPTIONAL_FEATURES sind die optionalen Funktionen im Overlay aufgeführt, die deaktiviert werden sollen. Wenn diese Eigenschaft nicht vorhanden ist, sind alle optionalen Funktionen aus den RROs aktiviert. Weitere Informationen zu VHAL finden Sie unter VHAL – Übersicht.

Debug-Shell-Befehle verwenden

Eine dritte Möglichkeit, optionale Funktionen zu aktivieren oder zu deaktivieren, besteht in der Verwendung von zwei Shell-Befehlen, die nur in user-debug-Builds verfügbar sind und für Entwickler gedacht sind. Die Tabelle in 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

Prüfen, welche Funktionen aktiviert sind

Bei der Fehlerbehebung 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 zu dumpen:

adb shell dumpsys car_service --services CarFeatureController

Dieser Befehl listet die unten aufgeführten Arten von Informationen auf.

Wert Beschreibung
mEnabledFeatures Derzeit aktivierte Funktionen.
mDefaultEnabledFeaturesFromConfig Optionale Funktionen, die unter config_allowed_optional_car_features aufgeführt sind.
mDisabledFeaturesFromVhal Von der VHAL angegebene Funktionen, die in der VHAL-Property DISABLED_OPTIONAL_FEATURES deaktiviert werden sollen.
mPendingEnabledFeatures Funktionen, die nach einem Neustart aktiviert werden sollen.
mPendingDisabledFeatures Funktionen, die nach einem Neustart deaktiviert werden sollen.