Steuerung der Autodienstfunktionen

Standardmäßig sind die meisten Autoservices obligatorisch und immer aktiviert. Sie können jedoch eine Teilmen101} ge von Autoservices als optional festlegen, da einige Funktionen möglicherweise nich101} t in jedem Auto unterstützt werden.

Liste der optionalen Funktionen

In der folgenden Tabelle sind die optionalen Funktionen zur Autosteuerung aufgeführt, die Sie aktivieren und deaktivieren können.

Funktion zur Autosteuerung Stringwert
Car EVS Service car_evs_service
Car Experimental Keyguard Service experimental_car_keyguard_service
Car Navigation Service car_navigation_service
Car Occupant Connection Service car_occupant_connection_service
Car Remote Access Service car_remote_access_service
Car Remote Device Service car_remote_device_service
Car Telemetry Service car_telemetry_service
Car User Notice Service com.android.car.user.CarUserNoticeService
Cluster Home Service cluster_home_service
Diagnostic Service diagnostic
Occupant Awareness Service occupant_awareness
Storage Monitoring Service storage_monitoring
Vehicle Map Service 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 (Runtime Resource Overlays, RROs) oder über die Vehicle Hardwareabstraktionsschicht (VHAL).

RROs verwenden

Verwenden Sie die Ressourcenkonfiguration config_allowed_optional_car_features, in der alle optionalen Funktionen aufgeführt sind, die Sie aktivieren können. Wenn ein Auto zum ersten Mal gestartet wird, werden mögliche optionale Funktionen zur Autosteuerung erfasst und aktiviert, sofern sie nicht von der VHAL blockiert werden. 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 Blockierliste dient, um bestimmte optionale Funktionen zu deaktivieren. Die VHAL-Property DISABLED_OPTIONAL_FEATURES listet die optionalen Funktionen im Overlay auf, die deaktiviert werden sollen. Wenn diese Property nicht vorhanden ist, sind alle optionalen Funktionen aus den RROs aktiviert. Weitere Informationen zur VHAL finden Sie in der VHAL-Übersicht.

Debug-Shell-Befehle verwenden

Eine dritte Möglichkeit, zu steuern, welche optionalen Funktionen aktiviert oder deaktiviert werden sollen, ist die Verwendung von zwei Shell-Befehlen, die nur in user-debug Builds verfügbar sind und für die Verwendung durch Entwickler bereitgestellt werden. Die Tabelle unter 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

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

adb shell dumpsys car_service --services CarFeatureController

Dieser Befehl listet die unten aufgeführten Informationen auf.

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