根據預設,大多數的汽車服務都是強制啟用,且一律會啟用。不過,您可以將部分車輛服務指定為選用,因為某些功能可能無法在所有車輛中使用。
選用功能清單
下表列出可啟用和停用的選用車輛控制功能。
車輛控制功能 | 字串值 |
---|---|
車輛 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) 或透過 Vehicle Hardware Abstraction Layer (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 屬性 DISABLED_OPTIONAL_FEATURES 中,由 VHAL 指定要停用的功能。 |
mPendingEnabledFeatures |
重新啟動時要啟用的功能。 |
mPendingDisabledFeatures |
重新啟動後要停用的功能。 |