Kiểm soát tính năng của dịch vụ ô tô

Theo mặc định, hầu hết các dịch vụ ô tô đều bắt buộc và luôn bật. Tuy nhiên, bạn có thể chỉ định một nhóm nhỏ 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ô tùy chọn mà bạn có thể bật và tắt được liệt kê trong bảng dưới đây.

Tính năng điều khiển ô tô Giá trị chuỗi
Dịch vụ Car EVS car_evs_service
Dịch vụ bảo vệ khoá thử nghiệm cho ô tô experimental_car_keyguard_service
Dịch vụ chỉ đường cho ô tô car_navigation_service
Dịch vụ kết nối hành khách trên ô tô car_occupant_connection_service
Dịch vụ truy cập từ xa vào ô tô car_remote_access_service
Dịch vụ thiết bị từ xa cho ô tô car_remote_device_service
Dịch vụ dữ liệu 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ụ tại nhà của 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 đồ xe 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 phần cứng của xe (VHAL).

Sử dụng RRO

Sử dụng cấu hình tài nguyên có tên 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 xe khởi động lần đầu, các tính năng không bắt buộc có thể có trên xe sẽ được ghi nhận và bật nếu VHAL không đưa các tính năng đó vào danh sách chặn. Để tìm hiểu thêm về RRO, hãy xem phần 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 xe (VHAL) kiểm soát các tính năng bằng cách phân phát dưới dạng danh sách chặn để tắt một số tính năng không bắt buộc cụ thể. Thuộc tính VHAL có tên 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ì danh sách các tính năng không bắt buộc từ RRO sẽ được bật tất cả. Để 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

Cách thứ ba để kiểm soát tính năng không bắt buộc cần bật hoặc tắt là thông qua việc sử dụng một cặp lệnh shell. Các lệnh này chỉ có trong các bản dựng user-debug và được cung cấp cho nhà phát triển sử dụng. Bảng trong phần Danh sách 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 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. Để kết xuất thông tin 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 như 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 sẽ bị tắt trong thuộc tính VHAL, DISABLED_OPTIONAL_FEATURES.
mPendingEnabledFeatures Các tính năng sẽ được bật sau khi khởi động lại.
mPendingDisabledFeatures Các tính năng sẽ bị tắt sau khi khởi động lại.