Kiểm soát tính năng dịch vụ xe

Theo mặc định, hầu hết các dịch vụ ô tô đều là bắt buộc và luôn được bật. Tuy nhiên, bạn có thể chỉ định một nhóm nhỏ các dịch vụ ô tô là không bắt buộc vì một số tính năng có thể không được hỗ trợ trên mọi ô tô.

Danh sách các tính năng không bắt buộc

Các tính năng điều khiển ô tô không bắt buộc mà bạn có thể bật và tắt được liệt kê trong bảng bên dưới.

Tính năng điều khiển ô tô Giá trị chuỗi
Dịch vụ EVS cho ô tô car_evs_service
Dịch vụ keyguard thử nghiệm cho ô tô experimental_car_keyguard_service
Dịch vụ điều hướng cho ô tô car_navigation_service
Dịch vụ kết nối người ngồi trong ô tô car_occupant_connection_service
Dịch vụ truy cập từ xa cho ô tô car_remote_access_service
Dịch vụ thiết bị từ xa cho ô tô car_remote_device_service
Dịch vụ đo từ xa cho ô tô car_telemetry_service
Dịch vụ thông báo cho người dùng ô tô com.android.car.user.CarUserNoticeService
Dịch vụ trang chủ cụm cluster_home_service
Dịch vụ chẩn đoán diagnostic
Dịch vụ nhận biết người ngồi trong ô tô occupant_awareness
Dịch vụ giám sát bộ nhớ storage_monitoring
Dịch vụ bản đồ dành cho ô tô vehicle_map_service

Bật và tắt các tính năng điều khiển ô tô

Bạn có thể kiểm soát việc hỗ trợ các tính năng trong bản dựng theo một trong hai cách: bằng lớp phủ tài nguyên thời gian chạy (RRO) hoặc thông qua Lớp trừu tượng hoá phần cứng ô tô (VHAL).

Sử dụng RRO

Sử dụng cấu hình tài nguyên có tên là config_allowed_optional_car_features. Cấu hình này liệt kê tất cả các tính năng không bắt buộc mà bạn có thể bật. Khi ô tô khởi động lần đầu, các tính năng không bắt buộc có thể có của ô tô sẽ được ghi nhận và bật nếu không bị VHAL đưa vào danh sách chặn. Để tìm hiểu thêm về RRO, hãy xem Thay đổi giá trị của tài nguyên ứng dụng trong thời gian chạy.

Sử dụng VHAL

Lớp trừu tượng phần cứng ô tô (VHAL) kiểm soát các tính năng bằng cách đóng vai trò là danh sách chặn để tắt các tính năng không bắt buộc cụ thể. Thuộc tính VHAL có tên là DISABLED_OPTIONAL_FEATURES liệt kê các tính năng không bắt buộc trong lớp phủ cần tắt. Nếu thuộc tính này không tồn tại, thì tất cả các tính năng không bắt buộc trong RRO đều được bật. Để tìm hiểu thêm về VHAL, hãy xem bài viết Tổng quan về VHAL.

Sử dụng lệnh shell gỡ lỗi

Một cách thứ ba để kiểm soát các tính năng không bắt buộc cần bật hoặc tắt là sử dụng một cặp lệnh shell. Các lệnh này chỉ có trong bản dựng user-debug và được cung cấp để nhà phát triển sử dụng. Bảng trong Danh sách các tính năng không bắt buộc chứa các giá trị cần sử dụng thay vì <FEATURE_STRING_VALUE>.

Cách bật một tính năng:

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

Cách tắt một tính năng:

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

Xác định các tính năng được bật

Khi gỡ lỗi các vấn đề liên quan đến các tính năng cụ thể, bạn nên biết những tính năng nào được bật và lý do. Để trích xuất dữ liệu feature-related, hãy chạy:

adb shell dumpsys car_service --services CarFeatureController

Lệnh này liệt kê các loại thông tin được trình bày bên dưới.

Giá trị Mô tả
mEnabledFeatures Các tính năng hiện được bật.
mDefaultEnabledFeaturesFromConfig Các tính năng không bắt buộc được liệt kê trong config_allowed_optional_car_features.
mDisabledFeaturesFromVhal Các tính năng do VHAL chỉ định để tắt trong thuộc tính VHAL, DISABLED_OPTIONAL_FEATURES.
mPendingEnabledFeatures Các tính năng cần bật khi khởi động lại.
mPendingDisabledFeatures Các tính năng cần tắt sau khi khởi động lại.