자동차 사용자 인터페이스(UI) 도구 키트는 자동차에 있는 앱(Google 앱과 시스템 및 공급업체 앱)이 다음을 확보할 수 있도록 개발자가 사용할 수 있는 UI 개발 프레임워크를 제공합니다.
-
인포테인먼트 UI/UX 자체 일관성. 자체 일관성은 사용자가 동일한 시스템과 상호 작용한 이전 경험에 기반하여 인포테인먼트 시스템과 상호작용하는 방법을 예측하는 기능입니다.
-
맞춤설정. OEM은 시스템의 디자인과 분위기를 수정하여 기능을 차량 내부 및 하드웨어와 가장 잘 통합할 수 있습니다.
자동차 UI 라이브러리 통합에 관한 자세한 내용은 다음 페이지를 참고하세요.
- 앱에 자동차 UI 라이브러리 통합
- 앱 맞춤설정
- 맞춤 글꼴 추가
- 자동차 UI 환경 맞춤설정
- CarUiListItem
- CarUiRecyclerView 맞춤설정
- 런타임 리소스 오버레이 문제 해결
- 출시 노트
- 부록 A, RRO 작업
- 부록 B, 맞춤설정 가이드라인
자동차 UI 라이브러리 정보
자동차 UI 라이브러리는 정적으로 연결된 라이브러리로, 다음을 구현하는 데 사용할 수 있는 일련의 구성요소 및 리소스를 제공합니다.
- 시스템 및 OEM 앱(Gerrit)
- Android Automotive(AAOS) 앱
이 라이브러리는 다음과 같은 역할을 합니다.
-
맞춤설정 API:
- 색상, 크기, 드로어블을 비롯하여 맞춤설정할 수 있는 리소스를 정의합니다.
- 리소스를 이전 버전과의 호환성이 보장되는 API로 취급합니다.
- Android 9 및 Android 10에 제공된 단기 솔루션과 현재 개발 중인 장기 솔루션 간의 호환성 레이어입니다.
리소스 오버레이
현재 Android에서는 영향을 받는 하위 시스템과 앱에 추가 작업 없이도 맞춤설정을 적용하는 여러 방법을 제공합니다.
-
빌드 시간 오버레이. 이 맞춤설정은 Android 시스템 이미지 빌드 시간에 적용됩니다. 빌드하는 동안 시스템의 모든 앱이
res
폴더와 타겟 makefile에 정의된overlay
폴더에서 리소스를 수신합니다. -
동적 런타임 오버레이(동적 RRO). 이러한 특수 APK에는 영향을 줄 타겟 APK를 나타내는 리소스와 매니페스트 파일만 포함됩니다. 동적 RRO는 시스템 이미지와는 별개로 컴파일 및 배포되고 사용 설정 또는 사용 중지할 수 있습니다. 시스템이 특정 앱에 관한 리소스 조회를 실행할 때 시스템은 애플리케이션을 타겟팅하는 모든 RRO와 RRO에 동일한 이름의 리소스가 포함되어 있는지도 확인합니다.
-
정적 런타임 오버레이(정적 RRO). 동적 RRO와 구조가 비슷한 정적 RRO는 항상 사용 설정되어 있으므로 전체 시스템 이미지 업그레이드를 실행하지 않고 제거하거나 업데이트할 수 없습니다. 정적 RRO는 빌드 시간과 동적 런타임 오버레이의 중간 역할을 합니다.
UI 구성요소 외에도 자동차 UI 라이브러리는 정적 RRO 세트를 사용하여 OEM 리소스로 리소스(각 앱에 정적으로 연결됨)를 직접 오버레이하는 메커니즘을 제공합니다. OEM은 리소스 오버레이와 타겟팅된 앱 목록이 포함된 폴더를 제공해야 합니다. 빌드 중에 자동차 UI 라이브러리 인프라는 이 정보를 사용하여 타겟팅된 각 앱에 정적 RRO를 하나씩 생성합니다.
![자동차 UI 라이브러리 구성요소](https://source.android.google.cn/static/docs/automotive/images/car_ui_library_01.png?authuser=8&hl=ko)
그림 1. 자동차 UI 라이브러리 구성요소
위 이미지는 다음과 같습니다.
-
초록색. OEM에서 제공하는 맞춤설정으로, 빌드 시간 및 런타임 오버레이 리소스의 혼합입니다.
-
노란색. 자동차 UI 라이브러리에서 제공하는 지원으로, 오버레이 가능한 리소스, 구성요소(자바 코드), 필요한 RRO를 생성하는 빌드 지원이 포함됩니다.
-
파란색. 맞춤설정 가능한 타겟으로, 자동차 UI 라이브러리를 사용하여 UI 요소를 맞춤설정하는 프레임워크, 시스템 앱, 공급업체 앱, GAS 앱이 포함됩니다.