Theo mặc định, hầu hết các dịch vụ trên ô tô đều là dịch vụ 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ụ trên ô 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
Bảng dưới đây liệt kê 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.
Tính năng điều khiển ô tô | Giá trị chuỗi |
---|---|
Dịch vụ EVS trên ô tô | car_evs_service |
Dịch vụ khoá bảo vệ 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 xe | 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ị điều khiển 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à theo 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 cách sử dụ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 là config_allowed_optional_car_features
, trong đó 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ó của xe sẽ được ghi nhận và bật nếu VHAL không đưa chúng vào danh sách chặn.
Để tìm hiểu thêm về RRO, hãy xem bài viết 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 của xe (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 cụ thể không bắt buộc. 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ì tất cả các tính năng không bắt buộc trong RRO sẽ đượ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 gỡ lỗi shell
Cách thứ ba để kiểm soát những 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 bản dựng user-debug
và do nhà phát triển cung cấp để 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 những 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 đang đượ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 đượ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 sẽ bị vô hiệu hoá trong thuộc tính VHAL, DISABLED_OPTIONAL_FEATURES . |
mPendingEnabledFeatures |
Các tính năng sẽ được bật khi bạn khởi động lại. |
mPendingDisabledFeatures |
Các tính năng sẽ bị tắt sau khi khởi động lại. |