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

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

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

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

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

The Vehicle Hardware Abstraction Layer (VHAL) controls features by serving as a blocklist to disable specific optional features. The VHAL property named DISABLED_OPTIONAL_FEATURES lists the optional features in the overlay that are to be disabled. If this property doesn't exist, then the list of optional features from the RROs are all enabled. To learn more about the VHAL, see the VHAL overview .

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

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