2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
자동차 서비스 기능 제어
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
기본적으로 자동차 서비스는 대부분 필수이며 항상 사용 설정되어 있습니다. 하지만 일부 자동차 서비스는 선택사항으로 지정할 수 있습니다. 기능이 일부 자동차에서는 지원되지 않을 수 있기 때문입니다.
선택적 기능 목록
사용 설정하거나 사용 중지할 수 있는 자동차 제어 기능은 아래 표에 나열되어 있습니다.
자동차 제어 기능 |
문자열 값 |
---|
자동차 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 |
재부팅 후 사용 중지될 기능입니다. |
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-26(UTC)"],[],[],null,["# Car service feature control\n\nBy default, most car services are mandatory and are always enabled. However, you can\ndesignate a subset of car services to be *optional* because some features might not\nbe supported in every car.\n\nList of optional features\n-------------------------\n\nThe optional car control features you can enable and disable are listed in the table below.\n\n| Car control feature | String value |\n|-----------------------------------|---------------------------------------------|\n| Car EVS service | `car_evs_service` |\n| Car experimental keyguard service | `experimental_car_keyguard_service` |\n| Car navigation service | `car_navigation_service` |\n| Car occupant connection service | `car_occupant_connection_service` |\n| Car remote access service | `car_remote_access_service` |\n| Car remote device service | `car_remote_device_service` |\n| Car telemetry service | `car_telemetry_service` |\n| Car user notice service | `com.android.car.user.CarUserNoticeService` |\n| Cluster home service | `cluster_home_service` |\n| Diagnostic service | `diagnostic` |\n| Occupant awareness wervice | `occupant_awareness` |\n| Storage monitoring service | `storage_monitoring` |\n| Vehicle map service | `vehicle_map_service` |\n\nEnable and disable car control features\n---------------------------------------\n\nYou can control support for features in your builds in one of two ways, either with\nruntime resource overlays (RROs) or through the Vehicle Hardware Abstraction Layer (VHAL).\n\n### Use RROs\n\nUse the resource configuration named `config_allowed_optional_car_features`, which\nlists all the optional features you can enable. When a car is first booted up, possible\noptional car features are noted and are enabled if they're not blocklisted by the VHAL.\nTo learn more RROs, see\n[Change the value of an app's resources at runtime.](/docs/core/runtime/rros)\n\n### Use the VHAL\n\nThe Vehicle Hardware Abstraction Layer (VHAL) controls features by serving as a\nblocklist to disable specific optional features. The VHAL property named\n`DISABLED_OPTIONAL_FEATURES` lists the optional features in the overlay that\nare to be disabled. If this property doesn't exist, then the list of optional features from\nthe RROs are all enabled. To learn more about the VHAL, see the\n[VHAL overview](/docs/automotive/vhal).\n\n### Use debug shell commands\n\nA third way to control which optional features to enable or disable is through the use of a\npair of shell commands, which are available only in `user-debug` builds and are\nprovided for use by developers. The table in\n[List of optional features](#list) contains the values to use instead of\n`\u003cFEATURE_STRING_VALUE\u003e`.\n\nTo enable a feature: \n\n```\nadb root; adb shell cmd car_service enable-feature \u003cFEATURE_STRING_VALUE\u003e; adb reboot\n```\n\nTo disable a feature: \n\n```\nadb root; adb shell cmd car_service disable-feature \u003cFEATURE_STRING_VALUE\u003e; adb reboot\n```\n\nDetermine which features are enabled\n------------------------------------\n\nWhen debugging issues related to specific features, it can be helpful to know which features are\nenabled and why. To dump `feature-related` information, run: \n\n```\nadb shell dumpsys car_service --services CarFeatureController\n```\n\nThis command lists the types of information shown below.\n\n| Value | Description |\n|-------------------------------------|---------------------------------------------------------------------------------------------------|\n| `mEnabledFeatures` | Currently enabled features. |\n| `mDefaultEnabledFeaturesFromConfig` | Optional features listed in `config_allowed_optional_car_features`. |\n| `mDisabledFeaturesFromVhal` | Features specified by the VHAL to be disabled in the VHAL property, `DISABLED_OPTIONAL_FEATURES`. |\n| `mPendingEnabledFeatures` | Features to be enabled upon a reboot. |\n| `mPendingDisabledFeatures` | Features to be disabled after a reboot. |"]]