汽車服務功能控制

預設情況下,大多數汽車服務都是強制性的並且始終啟用。但是,您可以將汽車服務的子集指定為可選,因為某些功能可能並非每輛車都支援。

選用功能列表

下表列出了您可以啟用和停用的選用汽車控制功能。

汽車控制功能字串值
汽車EVS服務car_evs_service
汽車實驗鑰匙鎖服務experimental_car_keyguard_service
汽車導航服務car_navigation_service
車內乘員連接服務car_occupant_connection_service
汽車遠端存取服務car_remote_access_service
汽車遠端設備服務car_remote_device_service
汽車遙測服務car_telemetry_service
汽車用戶須知服務com.android.car.user.CarUserNoticeService
集群到家服務cluster_home_service
診斷服務diagnostic
乘員意識服務occupant_awareness
儲存監控服務storage_monitoring
車輛地圖服務vehicle_map_service

啟用和停用汽車控制功能

您可以透過以下兩種方式之一控制對建置中功能的支援:使用運行時資源覆蓋 (RRO) 或透過車輛硬體抽象層 (VHAL)。

使用 RRO

使用名為config_allowed_optional_car_features的資源配置,其中列出了您可以啟用的所有可選功能。當汽車首次啟動時,可能的選用車功能會被記錄下來,如果它們沒有被 VHAL 列入黑名單,則會啟用這些功能。若要了解更多 RRO,請參閱在執行時間變更應用程式資源的值。

使用 VHAL

車輛硬體抽象層 (VHAL) 透過充當封鎖清單來停用特定選用功能來控制功能。名為DISABLED_OPTIONAL_FEATURES的 VHAL 屬性列出了疊加層中要停用的選用功能。如果此屬性不存在,則 RRO 中的選用功能清單均已啟用。要了解有關 VHAL 的更多信息,請參閱VHAL 概述

使用調試 shell 命令

控制啟用或停用哪些選用功能的第三種方法是使用一對 shell 命令,這些命令僅在user-debug版本中可用,並提供給開發人員使用。選用功能清單中的表格包含要使用的值,而不是<FEATURE_STRING_VALUE>

若要啟用某項功能:

adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot

若要停用某項功能:

adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot

確定啟用哪些功能

在偵錯與特定功能相關的問題時,了解啟用了哪些功能以及原因會很有幫助。要轉儲feature-related信息,請運行:

adb shell dumpsys car_service --services CarFeatureController

該命令列出如下所示的資訊類型。

價值描述
mEnabledFeatures目前啟用的功能。
mDefaultEnabledFeaturesFromConfig config_allowed_optional_car_features中列出的選用功能。
mDisabledFeaturesFromVhal VHAL 指定 VHAL 屬性DISABLED_OPTIONAL_FEATURES中要停用的功能。
mPendingEnabledFeatures重新啟動後啟用的功能。
mPendingDisabledFeatures重新啟動後要停用的功能。