Управление функциями автосервиса

По умолчанию большинство автомобильных сервисов являются обязательными и всегда включены. Однако вы можете сделать некоторые из них необязательными , поскольку некоторые функции могут поддерживаться не во всех автомобилях.

Список дополнительных функций

Дополнительные функции управления автомобилем, которые можно включить и отключить, перечислены в таблице ниже.

Функция управления автомобилем Строковое значение
Сервис электромобилей car_evs_service
Экспериментальная служба защиты ключей для автомобилей experimental_car_keyguard_service
Автомобильная навигационная служба car_navigation_service
Служба связи с пассажирами автомобиля car_occupant_connection_service
Служба удаленного доступа к автомобилю car_remote_access_service
Обслуживание автомобильного дистанционного устройства car_remote_device_service
Служба автомобильной телеметрии car_telemetry_service
Служба уведомления пользователей автомобилей com.android.car.user.CarUserNoticeService
Кластерный домашний сервис cluster_home_service
Диагностическая служба diagnostic
Служба осведомленности жильцов occupant_awareness
Служба мониторинга хранилищ storage_monitoring
Сервис карт транспортных средств vehicle_map_service

Включение и отключение функций управления автомобилем

Вы можете контролировать поддержку функций в своих сборках одним из двух способов: либо с помощью наложений ресурсов времени выполнения (RRO), либо через уровень абстракции оборудования транспортного средства (VHAL).

Использовать RRO

Используйте конфигурацию ресурса config_allowed_optional_car_features , в которой перечислены все дополнительные функции, которые можно включить. При первой загрузке автомобиля возможные дополнительные функции автомобиля отмечаются и включаются, если они не заблокированы VHAL. Подробнее об RRO см. в разделе Изменение значения ресурсов приложения во время выполнения.

Используйте VHAL

Уровень абстракции оборудования транспортного средства (VHAL) управляет функциями, выступая в качестве списка блокировки для отключения определенных дополнительных функций. Свойство VHAL DISABLED_OPTIONAL_FEATURES перечисляет дополнительные функции в оверлее, которые необходимо отключить. Если это свойство отсутствует, то включаются все дополнительные функции из списка RRO. Подробнее о VHAL см. в обзоре VHAL .

Используйте команды отладочной оболочки

Третий способ управления включением или отключением дополнительных функций — использование пары команд оболочки, которые доступны только в сборках user-debug и предоставляются разработчикам. Таблица в разделе «Список дополнительных функций» содержит значения, которые следует использовать вместо <FEATURE_STRING_VALUE> .

Чтобы включить функцию:

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

Чтобы отключить функцию:

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

Определите, какие функции включены

При отладке проблем, связанных с определёнными функциями, может быть полезно знать, какие функции включены и почему. Чтобы вывести информацию feature-related , выполните:

adb shell dumpsys car_service --services CarFeatureController

Эта команда выводит список типов информации, показанных ниже.

Ценить Описание
mEnabledFeatures В настоящее время включены функции.
mDefaultEnabledFeaturesFromConfig Дополнительные функции перечислены в config_allowed_optional_car_features .
mDisabledFeaturesFromVhal Функции, указанные VHAL как отключенные в свойстве VHAL, DISABLED_OPTIONAL_FEATURES .
mPendingEnabledFeatures Функции, которые будут включены после перезагрузки.
mPendingDisabledFeatures Функции, которые следует отключить после перезагрузки.