車輛服務功能控制

根據預設,大多數車輛服務都是必要服務,且一律會啟用。不過,您可以將部分車輛服務指定為選用,因為某些功能可能不支援所有車輛。

選用功能清單

下表列出可啟用及停用的選用車輛控制功能。

車輛控制功能 字串值
車輛 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 總覽

使用偵錯殼層指令

您也可以使用一組殼層指令來啟用或停用選用功能,但這組指令僅適用於 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 重新啟動後會停用的功能。