根據預設,大多數車輛服務都是必要服務,且一律會啟用。不過,您可以將部分車輛服務指定為選用,因為某些功能可能不支援所有車輛。
選用功能清單
下表列出可啟用及停用的選用車輛控制功能。
車輛控制功能 | 字串值 |
---|---|
車輛 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 |
重新啟動後會停用的功能。 |