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. |