자동차 서비스 기능 제어

기본적으로 자동차 서비스는 대부분 필수이며 항상 사용 설정되어 있습니다. 하지만 일부 자동차 서비스는 선택사항으로 지정할 수 있습니다. 기능이 일부 자동차에서는 지원되지 않을 수 있기 때문입니다.

선택적 기능 목록

사용 설정하거나 사용 중지할 수 있는 자동차 제어 기능은 아래 표에 나열되어 있습니다.

자동차 제어 기능 문자열 값
자동차 EVS 서비스 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 속성 DISABLED_OPTIONAL_FEATURES로 사용 중지되도록 VHAL에서 지정한 기능입니다.
mPendingEnabledFeatures 재부팅 시 사용 설정될 기능입니다.
mPendingDisabledFeatures 재부팅 후 사용 중지될 기능입니다.