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

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

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

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

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