預設情況下,大多數汽車服務都是強制性的並且始終啟用。但是,您可以將汽車服務的子集指定為可選,因為某些功能可能並非每輛車都支援。
選用功能列表
下表列出了您可以啟用和停用的選用汽車控制功能。
汽車控制功能 | 字串值 |
---|---|
汽車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 | 重新啟動後要停用的功能。 |