2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
개요
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
차세대 차량은 여러 화면을 지원하며 이 중 일부는 Android에서 작동하여 리치 콘텐츠를 제공할 수도 있습니다. 이 페이지에서는 계기판과 기타 디스플레이를 Android Automotive IVI 시스템에 통합하기 위한 주요 요소를 설명합니다.
Android의 외부 디스플레이
Android 10에서는 android.app.Presentation API를 사용하여 외부 디스플레이 사용을 지원합니다.
프레젠테이션은 보조 디스플레이에 콘텐츠를 표시하기 위한 고유한 대화상자입니다. 프레젠테이션은 생성 시 타겟 디스플레이와 연결되고 디스플레이 측정항목에 따라 컨텍스트 및 리소스 설정을 구성합니다.
계기판 디스플레이
Presentation API에는 다음 사항이 허용되므로 일반적인 계기판 디스플레이에 사용하기에 충분합니다.
그림 1. 계기판 디스플레이 샘플
Presentation API에는 다음이 필요하지 않습니다.
- 오디오 포커스 분리
- 전체 활동 또는 앱 실행
- 동시 사용자 입력 고려
- 터치 이벤트 처리
여러 디스플레이 사용에 관한 자세한 내용은 다중 디스플레이 개요를 참고하세요.
전제조건: Android WindowManager의 이전 개발 작업을 알고 있으면 도움이 됩니다.
지원되는 콘텐츠 유형
일부 차량에서는 Android가 계기판 그래픽을 직접 그리는 것은 원하지 않지만 세부 경로 안내나 음악 제목과 같은 정보 표시는 바랄 수 있습니다. Android는 여러 가지 방법으로 이러한 데이터를 전송할 수 있습니다. Android 기기는 계기판에 다음과 같이 콘텐츠를 전송할 수 있습니다.
- 메타데이터 기반으로(예:
CarVendorExtensionManager
나 VehicleNetworkService
를 사용하여 CAN을 통해 메시지 전송).
계기판 시스템은 메타데이터에 기반하여 적절한 그래픽을 만들어야 합니다.
- 실제 또는 가상 디스플레이에 그래픽 기반으로. 디스플레이는 게이지 클러스터 내의 전용 디스플레이이거나 완전한 그래픽 계기판 디스플레이의 일부일 수 있습니다.
그래픽 기반 계기판 디스플레이의 하드웨어 아키텍처의 예:
그림 2. Android Automotive 그래픽 기반 계기판 디스플레이 샘플
안전이 중요한(계기판 렌더링 담당) Android OS는 동일한 멀티코어 SoC에 있을 수 있습니다(예: 실시간 OS용 Cortex-R 및 Android용 Cortex-A 배치). 인터페이스는 이더넷 AVB(오디오 비디오 브리지)나 LVDS, HDMI일 수 있습니다. Android에서는 Graphics Instrument Cluster를 가상 디스플레이로 연결할 수 있으므로 디스플레이 HAL 구현의 하드웨어 아키텍처를 숨깁니다.
뒷좌석 제한사항
뒷좌석 엔터테인먼트의 경우 Presentation API에 다음과 같은 제한사항이 있습니다.
- 전체 활동을 표시할 수 없습니다(프레젠테이션은 대화상자임).
- 오디오 포커스는 1개만 사용할 수 있습니다.
- 동시 사용자가 없습니다.
- 외부 디스플레이에 직접적인 터치 이벤트가 없습니다(별도의 삽입 흐름 필요).
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2024-04-24(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"]],["최종 업데이트: 2024-04-24(UTC)"],[],[],null,["# Overview\n\nNext-generation vehicles support multiple screens, some of which\nmight be operated by Android to provide rich contents. This page describes the\nkey elements to integrate instrument cluster and other displays into an Android\nAutomotive IVI system.\n\nExternal displays in Android\n----------------------------\n\nAndroid 10 uses the [android.app.Presentation](https://developer.android.com/reference/android/app/Presentation.html) API to support the use of external displays.\nA *presentation* is a unique dialog, its purpose to present content on a secondary\ndisplay. A presentation is associated with the target\n[Display](https://developer.android.com/reference/android/view/Display.html)\nat the time of creation and configures its context and resource configuration according\nto the display metrics.\n\nInstrument cluster display\n--------------------------\n\nThe Presentation API is sufficient for a typical instrument cluster display, which has these\nallowances: \n**Figure 1**. Sample instrument cluster display\n\nThe Presentation API does not need:\n\n- Separate audio focus.\n- To run the entire activity or app.\n- To consider concurrent user input.\n- To handle touch events.\n\nTo learn more about the use of multiple displays, see\n[Multi-display overview](/docs/core/display/multi_display).\n\n**Prerequisite** : Some familiarity with previous\ndevelopments of the Android [WindowManager](https://developer.android.com/reference/android/view/WindowManager) is helpful.\n\n\nSupported content types\n-----------------------\n\nSome vehicles may not want Android to draw instrument cluster graphics\ndirectly, but still want to show information such as turn-by-turn guidance or\nmusic title. Android can send such data in several ways. An Android device can\nsend instrument cluster content as:\n\n- Metadata-based, such as sending messages through CAN through `CarVendorExtensionManager` or `VehicleNetworkService`. The instrumental cluster system must create appropriate graphics based on the metadata.\n- Graphics-based, to physical or virtual display. The display may be a dedicated display inside the gauge cluster, or part of a fully graphical instrument cluster display.\n\nExample hardware architecture for a graphics-based instrument cluster\ndisplay:\n\n\n**Figure 2.** Sample Android Automotive graphics-based instrument cluster display.\n\nThe safety-critical (responsible for rendering instrument cluster) and\nAndroid OS may reside on the same multi-core SoC (for example, dedicate Cortex-R\nfor real-time OS and Cortex-A for Android). The interface can be Ethernet AVB\n(Audio Video Bridge), LVDS, or HDMI. In Android, the Graphics Instrument Cluster\ncould be connected as a Virtual Display, hiding the hardware architecture behind\n[Display HAL](https://developer.android.com/reference/android/hardware/display/VirtualDisplay.html)\nimplementation.\n\nRear seat limitations\n---------------------\n\nFor rear seat entertainment, the presentation API has the following\nlimitations:\n\n- Can't project the entire activity (presentation is a dialog).\n- Only one audio focus available.\n- No concurrent users.\n- No direct touch events for the external display (needs separate injection flow)."]]