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