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ụ xe điện EVS car_evs_service
Dịch vụ bảo vệ bàn phím 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 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 về ô 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ụ cụm nhà cluster_home_service
Dịch vụ chẩn đoán diagnostic
Dịch vụ nâng cao nhận thức của người ngồi trong xe 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, với 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 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 liệt kê tất cả các tính năng tuỳ chọn mà bạn có thể bật. Khi ô tô khởi động lần đầu, có thể các tính năng không bắt buộc dành cho ô tô sẽ được ghi chú và bật nếu chúng 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 của ứ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 đóng vai trò như một 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 DISABLED_OPTIONAL_FEATURES liệt kê các tính năng không bắt buộc trong lớp phủ sẽ bị vô hiệu hoá. 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ừ tất cả RRO đều được bật. Để tìm hiểu thêm về VHAL, hãy xem Tổng quan về VHAL.

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

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

Để bật một tính năng:

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

Để 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 được những tính năng nào 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 được hiển thị 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ó trong config_allowed_optional_car_features.
mDisabledFeaturesFromVhal Các tính năng mà VHAL chỉ định là phải tắt trong thuộc tính VHAL, DISABLED_OPTIONAL_FEATURES.
mPendingEnabledFeatures Các tính năng được bật khi khởi động lại.
mPendingDisabledFeatures Các tính năng sẽ bị tắt sau khi khởi động lại.