2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
자동차 UI 라이브러리 출시 노트
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 아래에 나열된 각 버전에서 이루어진 자동차 UI 라이브러리 업데이트를 설명합니다.
car-ui-lib 2.6.0
새로운 기능
CarUiToolbar
로고의 탭 리스너를 추가했습니다.
해결된 문제
- 플러그인을 통해 업데이트할 때
CarUiToolbar
의 오버플로 대화상자 콘텐츠가 비활성 상태로 유지되는 문제를 수정했습니다.
- 잘못된 인셋이 적용되어
CarUiRecyclerView
의 스크롤바가 표시되지 않는 문제를 수정했습니다.
- 플러그인이 null
InsetsChangedListener
을 반환할 때 발생하는 문제를 수정했습니다.
AppStyledView
에서 렌더링된 콘텐츠가 Theme.CarUi
를 사용해서는 안 된다는 검사를 추가했습니다.
- 대형 가로 모드 화면에서 기본
AppStyledView
위치를 수정했습니다.
AppStyledView
배경 및 어둡게 설정 정도의 맞춤설정이 추가되었습니다.
AppStyledView
가 표시된 후 AppStyledDialog#setContentView()
호출을 지원하도록 추가했습니다.
다음 메서드가 지원 중단되었습니다.
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, 대신 CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
를 사용하세요.
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,
boolean)
, 대신 CarUi#InsetsChangedListener(Context, View,
InsetsChangedListener, boolean, boolean)
를 사용하세요.
car-ui-lib-plugin-apis 1.5.0
새로운 기능
CarUiToolbar
로고 탭 리스너의 맞춤설정을 추가했습니다.
다음 항목이 지원 중단되었습니다.
PluginFactoryOEMV6
, 대신 PluginFactoryOEMV7
를 사용하세요.
ToolbarControllerOEMV2
, 대신 ToolbarControllerOEMV3
를 사용하세요.
car-ui-lib 2.5.1
해결된 문제
- car-ui-lib 플러그인이 로드되지 않는 ProGuard 문제를 수정했습니다.
- 런타임에 NPE를 일으키는 플러그인의 전방 호환성을 수정했습니다.
- car-ui-lib 플러그인이 시스템 앱이어야 한다고 적용합니다.
- 일부 시나리오에서
CarUiRecyclerView
에 스크롤바가 표시되지 않는 문제를 수정했습니다.
- 플러그인이 사용될 때 선택한 탭이 업데이트되지 않는 문제를 수정했습니다.
- 플러그인을 사용할 때
SearchView
인스턴스화와 관련된 문제를 수정했습니다.
- 올바른 디스플레이 구성을 위해 Activity 컨텍스트를 사용하여 자동차 서비스 UX 제한 상태 콜백을 초기화합니다.
- nullness 주석을 업데이트했습니다.
car-ui-lib 2.5.0
해결된 문제
- 플러그인 시작 시간을 최적화했습니다.
- 앱이 최대 지원 플러그인 버전으로 항상 1을 반환했던 문제를 수정했습니다.
AppStyledView
에서 Theme.CarUi
를 강제로 적용하기 위한 테마 덮어쓰기를 삭제했습니다.
ListPreferenceFragment
에서 제목을 설정하는 재정의 가능한 메서드를 추가했습니다.
car-ui-lib-plugin-apis 1.4.0
새로운 기능
- OEM에서
CarUiPreference
를 맞춤설정할 수 있습니다.
다음 항목이 지원 중단되었습니다.
PluginFactoryOEMV5
, 대신 PluginFactoryOEMV6
를 사용하세요.
car-ui-lib 2.4.0
새로운 기능
AppStyledView
로의 전환 지원이 추가되었습니다.
해결된 문제
AppStyledRecyclerViewAdapter
가 더 이상 공개되지 않도록 업데이트되었습니다.
AppStyledDialogController
에 최적화되는 컨텍스트의 편의 메서드를 제공했습니다.
AppStyledViewNavIcon
정의를 AppStyledDialogController
로 이동했습니다.
AppStyledView
의 Theme.CarUi
에 대한 강제 테마 덮어쓰기를 삭제했습니다.
AppStyledView
화면의 렌더링을 지원하는 전환을 추가했습니다.
- 오버레이할 수 있는 항목 목록에
car_ui_recycler_view_no_scrollbar
를 추가했습니다.
CarUiRecyclerView
Espresso ViewActions
및 ViewMatchers
용 Gradle 라이브러리를 만들었습니다.
ScrollView
를 사용하도록 앱 스타일 뷰를 리팩터링했습니다.
car-ui-lib-plugin-apis 1.3.0
새로운 기능
다음 항목이 지원 중단되었습니다.
PluginFactoryOEMV4
, 대신 PluginFactoryOEMV5
를 사용하세요.
RecyclerViewOEMV1
, 대신 RecyclerViewOEMV2
를 사용하세요.
OnScrollListenerOEMV1
, 대신 RecyclerViewOEMV2.OnScrollListenerOEMV2
를 사용하세요.
car-ui-lib 2.3.0
새로운 기능
새 구성요소를 추가했습니다.
다음 스크롤바 속성에 관한 지원이 추가되었습니다.
android:fadeScrollbars
android:scrollbars
android:scrollbarThumbVertical
android:scrollbarTrackVertical
android:scrollbarStyle
android:scrollbarFadeDuration
android:verticalScrollbarPosition
android:requiresFadingEdge
해결된 문제
Activity
재생성 시 위치를 유지하지 않는 CarUiRecyclerView
를 수정했습니다.
클라이언트 코드와 IME 서비스 간의 비트맵 직렬화 비호환성 문제를 해결했습니다.
PreferenceFragment
와 함께 NavHostFragment
를 사용 설정했습니다.
car-ui-lib-plugin-apis 1.2.0
새로운 기능
java.util.function
인터페이스 사용을 다음 라이브러리 인터페이스로 대체했습니다.
com.android.car.ui.plugin.oemapis.BiConsumer
com.android.car.ui.plugin.oemapis.Consumer
com.android.car.ui.plugin.oemapis.Function
다음 항목이 지원 중단되었습니다.
PluginFactoryOEMV3
, 대신 PluginFactoryOEMV4
를 사용하세요.
ToolbarControllerOEMV1
, 대신 ToolbarControllerOEMV2
를 사용하세요.
ContentListItemOEMV1
, 대신 ContentListItemOEMV2
를 사용하세요.
ImeSearchInterfaceOEMV1
, 대신 ImeSearchInterfaceOEMV2
를 사용하세요.
nullness 인터페이스의 라이브러리 구현을 androidx.annotations
구현으로 대체했습니다.
car-ui-lib-plugin-apis 1.1.1
이 버전에서는 minSdkVersion
을 28로 업데이트합니다.
car-ui-lib 2.2.1
이번 출시:
CarUiFooterPreference
를 도입합니다.
minSdkVersion
을 28로 업데이트합니다.
car-ui-lib-plugin-apis 1.1.0
이번 출시:
AppStyledViewControllerOEMV1
이 지원 중단됩니다.
AppStyledViewControllerOEMV2
를 도입합니다.
AppStyledViewControllerOEMV1
의 변경사항을 통합합니다.
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
PluginFactoryOEMV1
및 PluginFactoryOEMV2
가 지원 중단됩니다.
PluginFactoryOEMV3
인터페이스를 도입합니다.
car-ui-lib 2.1.0
이번 출시:
AppStyledView
클라이언트 API를 추가합니다.
public int getContentAreaHeight();
public int getContentAreaWidth();
CarUiPrimarySwitchPreference
를 도입합니다.
Context
대신 Activity
를 요구하도록 AppStyledDialogController
생성자를 업데이트합니다.
추가:
public AppStyledDialogController(android.app.Activity);
지원 중단:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
이 버전에는 nullness 주석이 추가되었습니다.
car-ui-lib-plugin-apis 1.0.0
이 버전에서는 다음 car-ui-lib
플러그인 API를 지원합니다.
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 2.0.0
이 버전은 Google Maven에서 사용할 수 있으며 다음 구성요소에 대한 car-ui-lib
플러그인 지원이 추가되었습니다.
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 1.0.0
이 버전은 Android 12 이하의 AOSP에서 사용할 수 있으며 다음을 지원합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-06-12(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-06-12(UTC)"],[],[],null,["# Car UI library release notes\n\nThis page describes updates made to the Car UI library in each of the releases\nlisted below.\n\ncar-ui-lib 2.6.0\n----------------\n\n### New features\n\n- Added a tap listener for the `CarUiToolbar` logo.\n\n### Issues addressed\n\n- Fixed an issue where `CarUiToolbar`'s overflow dialog content would remain stale when making the updates through the plugin.\n- Fixed an issue where `CarUiRecyclerView`'s scrollbar was not visible because incorrect insets were applied.\n- Fixed an issue when the plugin returned a null `InsetsChangedListener`.\n- Added a check to enforce content rendered in `AppStyledView` must not use `Theme.CarUi`.\n- Fixed default `AppStyledView` positioning in large landscape screens.\n- Added customization of `AppStyledView` background and dim amount.\n- Added support for calls to `AppStyledDialog#setContentView()` after `AppStyledView` is shown.\n\nDeprecated these methods:\n\n- `CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)`, use `CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)` instead.\n- `CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,\n boolean)`, use `CarUi#InsetsChangedListener(Context, View,\n InsetsChangedListener, boolean, boolean)` instead.\n\ncar-ui-lib-plugin-apis 1.5.0\n----------------------------\n\n### New features\n\n- Added customization of `CarUiToolbar` logo tap listener.\n\nDeprecated these items:\n\n- `PluginFactoryOEMV6`, use `PluginFactoryOEMV7` instead.\n- `ToolbarControllerOEMV2`, use `ToolbarControllerOEMV3` instead.\n\ncar-ui-lib 2.5.1\n----------------\n\n### Issues addressed\n\n- Fixed a ProGuard issue that was preventing loading the car-ui-lib plugin.\n- Fixed forward compatibility for plugins that would cause NPE at runtime.\n- Enforce that car-ui-lib plugin has to be a system app.\n- Fixed `CarUiRecyclerView` not showing scrollbar in some scenarios.\n- Fixed selected tabs not updating when the plugin is used.\n- Fixed issues with instantiating `SearchView` when the plugin is used.\n- Initialize Car service UX restriction state callback using Activity context for correct display configuration.\n- Updated nullness annotations.\n\ncar-ui-lib 2.5.0\n----------------\n\n### Issues addressed\n\n- Optimized plugin startup time.\n- Fixed an issue where apps were always returning 1 as max supported plugin version.\n- Removed the overwriting of theme to force `Theme.CarUi` from `AppStyledView`.\n- Added overridable method to set title on `ListPreferenceFragment`.\n\ncar-ui-lib-plugin-apis 1.4.0\n----------------------------\n\n### New features\n\n- Allow OEM customization of `CarUiPreference`.\n\nDeprecated these items:\n\n- `PluginFactoryOEMV5`, use `PluginFactoryOEMV6` instead.\n\ncar-ui-lib 2.4.0\n----------------\n\n### New features\n\n- Added support for the transition to `AppStyledView`.\n\n### Issues addressed\n\n- Updated `AppStyledRecyclerViewAdapter` to no longer be public.\n- Provided a convenience method for context with optimization for `AppStyledDialogController`.\n- Moved the `AppStyledViewNavIcon` definition to `AppStyledDialogController`.\n- Removed forced overwriting of theme to `Theme.CarUi` in `AppStyledView`.\n- Added transitions to support the rendering of `AppStyledView` screens.\n- Added `car_ui_recycler_view_no_scrollbar` to the list of items that can be overlaid.\n- Created a Gradle library for `CarUiRecyclerView` espresso `ViewActions` and `ViewMatchers`.\n- Refactored the app-styled view to use `ScrollView`.\n\ncar-ui-lib-plugin-apis 1.3.0\n----------------------------\n\n### New features\n\nDeprecated these items:\n\n- `PluginFactoryOEMV4`, use `PluginFactoryOEMV5` instead.\n- `RecyclerViewOEMV1`, use `RecyclerViewOEMV2` instead.\n- `OnScrollListenerOEMV1`, use `RecyclerViewOEMV2.OnScrollListenerOEMV2` instead.\n\ncar-ui-lib 2.3.0\n----------------\n\n### New features\n\nAdded new component:\n\n- `CarUiShortcutsPopup`\n\nAdded support for the following scrollbar attributes:\n\n- `android:fadeScrollbars`\n- `android:scrollbars`\n- `android:scrollbarThumbVertical`\n- `android:scrollbarTrackVertical`\n- `android:scrollbarStyle`\n- `android:scrollbarFadeDuration`\n- `android:verticalScrollbarPosition`\n- `android:requiresFadingEdge`\n\n### Addressed issues\n\n- Fixed `CarUiRecyclerView`, which did not maintain position upon `Activity`\n recreation.\n\n- Resolved bitmap serialization incompatibility between the client code and\n the IME service.\n\n- Enabled usage of `NavHostFragment` with `PreferenceFragment`.\n\ncar-ui-lib-plugin-apis 1.2.0\n----------------------------\n\n### New features\n\nReplaced usage of `java.util.function` interfaces with the following library\ninterfaces:\n\n- `com.android.car.ui.plugin.oemapis.BiConsumer`\n- `com.android.car.ui.plugin.oemapis.Consumer`\n- `com.android.car.ui.plugin.oemapis.Function`\n\nDeprecated these items:\n\n- `PluginFactoryOEMV3`, use `PluginFactoryOEMV4` instead.\n- `ToolbarControllerOEMV1`, use `ToolbarControllerOEMV2` instead.\n- `ContentListItemOEMV1`, use `ContentListItemOEMV2` instead.\n- `ImeSearchInterfaceOEMV1`, use `ImeSearchInterfaceOEMV2` instead.\n\nReplaced the library implementation of nullness interfaces with implementations\nof `androidx.annotations`.\n\ncar-ui-lib-plugin-apis 1.1.1\n----------------------------\n\nThis release updates the `minSdkVersion` to 28.\n\ncar-ui-lib 2.2.1\n----------------\n\nThis release:\n\n- Introduces `CarUiFooterPreference`\n- Updates the `minSdkVersion` to 28.\n\ncar-ui-lib-plugin-apis 1.1.0\n----------------------------\n\nThis release:\n\n- Deprecates `AppStyledViewControllerOEMV1`\n- Introduces `AppStyledViewControllerOEMV2`\n\n- Incorporates changes from `AppStyledViewControllerOEMV1`:\n\n public abstract int getContentAreaHeight();\n public abstract int getContentAreaWidth();\n\n- Deprecates `PluginFactoryOEMV1` and `PluginFactoryOEMV2`\n\n- Introduces the `PluginFactoryOEMV3` interface.\n\ncar-ui-lib 2.1.0\n----------------\n\nThis release:\n\n- Adds `AppStyledView` client APIs:\n\n public int getContentAreaHeight();\n public int getContentAreaWidth();\n\n- Introduces `CarUiPrimarySwitchPreference`\n\n- Updates the `AppStyledDialogController` constructor to require `Activity`\n instead of `Context`:\n\n - Adds:\n\n public AppStyledDialogController(android.app.Activity);\n\n - Deprecates:\n\n public AppStyledDialogController(android.content.Context);\n\ncar-ui-lib-plugin-apis 1.0.1\n----------------------------\n\nThis release adds nullness annotations.\n\ncar-ui-lib-plugin-apis 1.0.0\n----------------------------\n\nThis release introduces support for the following `car-ui-lib` plugin APIs:\n\n- `AppStyledViewDialog`\n- `CarUiRecyclerView`\n- `CarUiToolbar`\n- `CarUiListItems`\n\ncar-ui-lib 2.0.0\n----------------\n\nThis version, available on [Google\nMaven](https://maven.google.com/web/index.html?#com.android.car.ui),\nintroduces `car-ui-lib` plugin support for these components:\n\n- `AppStyledViewDialog`\n- `CarUiRecyclerView`\n- `CarUiToolbar`\n- `CarUiListItems`\n\ncar-ui-lib 1.0.0\n----------------\n\nThis release is available on AOSP for Android 12 and lower and provides\nsupport for:\n\n- `AppStyledViewDialog`\n- [`CarUiRecyclerView`](/docs/devices/automotive/hmi/car_ui/caruirecyclerview)\n- [`CarUiToolbar`](/docs/devices/automotive/hmi/car_ui/toolbar_rro)\n- [`CarUiListItems`](/docs/devices/automotive/hmi/car_ui/caruilistitem)\n- Dialog\n- Resource customization through [runtime resource overlays (RROs)](/docs/core/architecture/rros)\n- [`PreferencesFragment`](/docs/devices/automotive/hmi/car_ui/caruipreference)\n- [Rotary support](/docs/devices/automotive/hmi/rotary_controller/oem_integration)\n- `WideScreenImeKeyboard`"]]