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

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

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

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

Функция управления автомобилем Строковое значение
Автомобильный ЭВС сервис 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 Функции, которые будут отключены после перезагрузки.