자동차 앱
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 9월 18일 | 1.4.0 | - | 1.7.0-beta02 | - |
종속 항목 선언
자동차 앱 라이브러리에 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.7
버전 1.7.0-beta02
2024년 9월 18일
androidx.car.app:app-*:1.7.0-beta02
이 출시되었습니다. 버전 1.7.0-beta02에 포함된 커밋을 확인하세요.
API 변경사항
KEY_ROOT_HINT_MEDIA_HOST_VERSION
를 추가합니다. (I8796b)TabContents.Builder
클래스에서TabContents.Api8Builder
클래스를@ExperimentalCarApi
생성자로 바꿉니다. (I26fbe)CarMediaApp
의 인텐트 작업 및 추가 항목을 추가합니다. (I50782)- 메시지 API를 비실험용으로 표시합니다. (I0b070)
SectionedItemTemplate
에 원격 항목 로드를 추가합니다. 그러면 긴 목록이 비정상 종료 없이 로드될 수 있습니다. (I0d122)- API 8의
TabTemplate
내부에 있는 지원되는 템플릿 목록에SectionedItemTemplate
를 추가합니다. (Idc5d6)
버그 수정
- 새 플랫폼 API에 대한 액세스에 관한 수동 개요가 삭제되었습니다. 이는 AGP 7.3 이상 (예: R8 버전 3.3)과 함께 R8을 사용할 때 API 모델링을 통해, 그리고 AGP 8.1 이상을 사용할 때 (예: D8 버전 8.1) 모든 빌드에서 자동으로 발생하기 때문입니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (I9496c, b/345472586)
버전 1.7.0-beta01
2024년 6월 26일
androidx.car.app:app-*:1.7.0-beta01
이 출시되었습니다. 버전 1.7.0-beta01에는 이러한 커밋이 포함되어 있습니다. 기능은 alpha01에서 게시된 것과 동일하며 아래에 반복됩니다.
새로운 기능
- 콘텐츠가 포함된 지도: 지도 캔버스와 콘텐츠 템플릿을 결합한 새로운 템플릿으로, 현재는 목록 / 그리드 / 창 / 메시지로 구성할 수 있습니다.
RoutePreview
,PlaceListNavigation
,MapTemplate
는 지원 중단되었습니다. 템플릿은 계속해서 작동합니다.- 지원 중단된 템플릿 대신
MapWithContent
사용량을 표시하도록 샘플 앱이 업데이트되었습니다.
- 대화 항목: 자동차에서 대화 (IM, SMS) 및 어시스턴트 읽기 기능을 표시하는 새로운 API입니다.
- 차량 크기: 차량 측정값을 가져오는 새 API (현재 AAOS에 관한 데이터)
API 변경사항
@ExperimentalCarApi
태그를MediaPlaybackTemplate.Builder
에 추가합니다. 추가했습니다. (Ic1957)- 실험용에 새
SectionedItemTemplate
를 추가합니다. 추가했습니다. (I5958a) CarAppApiLevel 8
를 도입했습니다. (I3fa22)- 자동차 앱 라이브러리에서 미디어 재생 중에 콘텐츠를 표시하기 위한
MediaPlaybackTemplate
를 추가합니다. (I3c10d) - 운전 중 시스템에서 백그라운드 오디오를 지원하는지 여부를 감지하는 앱을 위한 새 API를 추가했습니다. (I0f868)
버그 수정
- CAL 클라이언트 코드 및 CAL 탐색 샘플 앱에서 메모리 누수 및 비정상 종료의 특정 인스턴스를 수정합니다. (I55e04)
- 비정상 종료를 방지하기 위해
BaseCarAppActivity
의onDestroy
메서드에서requireNotNull instances
을 if-null 검사로 바꿉니다. (Iec676)
버전 1.7.0-alpha02
2024년 4월 17일
androidx.car.app:app-*:1.7.0-alpha02
이 출시되었습니다. 버전 1.7.0-alpha02에는 이 커밋이 포함되어 있습니다.
새로운 기능
- 앞으로
MapWithContent
템플릿에서 지원할 지도 기반 템플릿에 지원 중단된 플래그를 추가했습니다.
API 변경사항
- 이전
MapTemplate
,RoutePreviewNavigationTemplate
,PlaceListNavigationTemplate
를 지원 중단하고 새MapWithContentTemplate
사용을 권장합니다. (Ib0a08)
버전 1.7.0-alpha01
2024년 4월 3일
androidx.car.app:app-*:1.7.0-alpha01
이 출시되었습니다. 활성 CarApi 버전과 일치하도록 라이브러리 버전 관리 스키마를 이동했습니다. 이는 개발자 의견을 바탕으로 이름 지정 스킴에 대한 혼동을 줄이기 위한 조치입니다. 따라서 버전 1.5 / 1.6은 건너뛰고 1.7 버전 1.7.0-alpha01로 바로 이동하면 이러한 커밋이 포함됩니다.
새로운 기능
- 콘텐츠가 있는 지도: 지도 내의 콘텐츠로 목록 / 그리드 / 창 / 메시지를 지원하는
MapWithContent
라는 새로운 템플릿입니다.RoutePreview
,PlaceListNavigation
, 지도 템플릿이 지원 중단되었습니다.MapWithContent
를 사용하는 지원 중단된 템플릿의 기능을 보여주도록 샘플 앱이 업데이트되었습니다.
- 대화 항목: 자동차에서 대화 (IM, SMS) 및 어시스턴트 읽기 기능을 표시하는 새로운 API입니다.
- 차량 크기: 차량 측정값을 가져오는 새 API입니다 (현재 AAOS에 관한 데이터).
API 변경사항
- 여분의 작은 행 이미지 유형을 실험용으로 표시합니다. (I5184b)
- 높이, 너비와 같은 차량 외부 크기 정보에 액세스할 수 있는
CarInfo#fetchExteriorDimensions
API를 추가했습니다. (Ia40c5) MapWithContentTemplate
에서ExperimentalAPI
태그를 삭제했습니다. (I66db8)GridItem#setTitle
매개변수를 null을 허용하도록 업데이트합니다. (I3d610)GetHeader
API는 하위 호환되므로 API 7이 필요하지 않습니다. (I8c812)ListTemplate
에Header
지원을 추가하고headerAction
,headerTitle
,actionStrip
를 지원 중단합니다. (I7ae01)GridTemplate
에서title
,headerAction
,actionStrip
가 지원 중단되고Header
지원이 추가되었습니다. (I41a9c)- 실험용 API의 레벨 7 요구사항인 배지,
GridTemplate
항목 크기 및 이미지 모양 getter/setter, 배지 가져오기/설정을 위한GridItem
메서드를 삭제합니다. 추가했습니다. (Id71eb) PaneTemplate
에서title
,headerAction
,actionStrip
를 지원 중단하고 새로운Header
지원을 추가했습니다. (I23154)- Media Center 원격 분석을
BroadcastReceiver
에서 맞춤 탐색 작업으로 변경했습니다. 추가했습니다. (I4185f) MessageTemplate
에Header
속성 지원을 추가했습니다.ActionStrip
,headerAction
,title
지원이 지원 중단되었습니다. (Ie2de8)- 알림 상수 공개 상태를 수정했습니다. (Icf8a8)
- 상위 템플릿에서
isLoading
속성을 삭제합니다. (I651e6) - 미디어 앱에 기본 UI 매개변수를 알리는 추가 항목을 추가합니다. (I85ca2)
MediaExtensions
에 미디어 센터 분석 기능을 추가합니다. (I7ce28)- 행에 초소형 이미지 옵션을 추가했습니다. (I72c03)
버그 수정
- 메시지를 가장 오래된 메시지부터 가장 최근 메시지 순으로 정렬해야 한다고 명시하도록
ConversationItem
의 javadoc을 업데이트합니다. 추가했습니다. (I77a2a) ConversationItem
에서 가장 오래된 메시지를 삭제하도록ListTemplate
자르기 로직을 업데이트했습니다. (Ie0a61)
버전 1.4
버전 1.4.0
2024년 5월 29일
androidx.car.app:app-*:1.4.0
이 출시되었습니다. 버전 1.4.0은 1.4.0-rc02의 프로모션입니다.
1.3.0 이후 중요 변경사항
- 내비게이션 앱용 계기판 지도 렌더링
- 앱 레이아웃 / 사용성을 개선하기 위한 새 탭 템플릿
- 적응형 작업 제한 지원
- 목록 요소의 보조 작업
버전 1.4.0-rc02
2023년 12월 13일
androidx.car.app:app-*:1.4.0-rc02
이 출시되었습니다. 버전 1.4.0-rc02에 포함된 커밋을 확인하세요. 일부 버그 수정만
버그 수정
- 메시지를 가장 오래된 순서부터 가장 최근 순서로 정렬해야 한다고 명시하도록
ConversationItem
의 javadoc을 업데이트했습니다. (I77a2a) ConversationItem
에서 가장 오래된 메시지를 삭제하도록ListTemplate
자르기 로직을 업데이트했습니다. (Ie0a61)
버전 1.4.0-rc01
2023년 11월 1일
androidx.car.app:app-*:1.4.0-rc01
이 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.
버전 1.4.0-beta02
2023년 9월 20일
androidx.car.app:app-*:1.4.0-beta02
이 출시되었습니다. 버전 1.4.0-beta02에 포함된 커밋을 확인하세요. 이는 beta01과 거의 동일하지만 compileSdk
요구사항을 33으로 낮춥니다.
버그 수정
- 탭의 로드 화면이 적절하게 표시되지 않는 버그가 수정되었습니다. (cae860)
버전 1.4.0-beta01
2023년 8월 9일
androidx.car.app:app-*:1.4.0-beta01
이 출시되었습니다. 버전 1.4.0-beta01에 포함된 커밋을 확인하세요.
참고: 1.4-beta01에는 아직 개발 상태인 compileSdk34가 필요합니다. 1.4-beta02에서 이 문제가 수정됩니다. 또는 프로젝트의
settings.gradle
파일에android.suppressUnsupportedCompileSdk=34
를 추가하여 일시적으로 경고를 안전하게 억제할 수 있습니다.
새로운 기능
API 변경사항
- alpha02 참고
버전 1.4.0-alpha02
2023년 7월 26일
androidx.car.app:app-*:1.4.0-alpha02
이 출시되었습니다. 버전 1.4.0-alpha02에 포함된 커밋을 확인하세요.
- Alpha02는 향후 출시될 beta01에 대비하기 위한 것입니다.
새로운 기능
- 계기판에서 내비게이션 앱을 지원하는 지도 렌더링
- 레이아웃 환경을 개선하기 위해 앱에 탭을 추가했습니다.
- 목록 / 그리드 템플릿 렌더링 옵션 추가
- 날씨 및 커뮤니케이션에 관한 새로운 카테고리 추가
- 여러 API를 다음 CarApi 7 버전으로 이동
API 변경사항
CarMessage
에 멀티미디어 필드를 추가했습니다. (I5aaf6)- 자동차 앱 라이브러리의
ConversationItem
에 맞춤 작업을 추가했습니다. (Ie5ed6) - 미디어 항목이 몰입형 오디오 형식으로 재생되고 콘텐츠 형식 로고를 표시하는 추가 항목을 추가했습니다. (Icb5bb)
- 작성 버튼을 지원하는 새로운 작업 유형
ActionsConstraints
API를 추가했습니다. (I31661) set/getTemplate
를set/get ContentTemplate
로 만들었습니다. (Ica036)- 이제 템플릿 매개변수가
@NonNull
입니다.MapWithContentTemplate
API 문서를 업데이트했습니다. (I0f8ed) - CAL 1.4 실행을 위해
ListTemplate
의 작업에 관한@ExperimentalCarApi
태그를 삭제합니다. (I2cfcb) TabTemplate
의@ExperimentalCarApi
태그를 삭제합니다. (Ifcb82)- 행 보조 작업 및 장식에서
@ExperimentalCarApi
주석을 삭제했습니다. (I8487e) TabTemplate
에 활성 탭 콘텐츠 ID를 추가하고 탭의 활성 상태를 지원 중단합니다. (I96932)GridTemplate
에ItemImageShape
속성을 추가했습니다. (Ibf431)- 상대적 소형, 중형, 대형 버킷에 따라 그리드 항목 크기를 제어하는
ItemSize
속성을GridTemplate
에 추가합니다. (Icdb3b) - 개발자가 현재 화면 스택의 사본을 가져올 수 있도록 API 액세스를 제공합니다. (I48107)
- 자동차 앱 라이브러리에 날씨 앱 카테고리를 추가합니다. (I2be44)
- 자동차 앱 라이브러리에 앱 호출을 위한 카테고리를 추가했습니다. (Icab33)
GridItem.Builder#setBadge()
를 오버로드된setImage()
메서드로 대체했습니다. (Id2000)- 배지에 아이콘 속성을 추가했습니다. (I629b2)
- 점 배지 배경 색상을 설정하는 메서드를 추가했습니다. (I6411c)
GridItem
에 배지 속성을 추가하여 배지를GridItem
이미지 위에 표시합니다. (I95de7)- 이미지 위에 표시할 배지를 나타내는 실험용 배지 객체를 추가했습니다. (I9878d)
버전 1.4.0-alpha01
2023년 2월 22일
androidx.car.app:app-*:1.4.0-alpha01
이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 자동차 앱 라이브러리의
GridTemplate
에 최상위 작업을 추가했습니다. (Id0191) - 자동차 앱 라이브러리의
ListTemplate
에 최상위 작업을 추가했습니다. (I9efab) - 미디어 항목의 부제목 또는 설명을 다른 미디어 항목에 연결하는 추가 항목을 추가했습니다. (Ic84bf)
- 행 작업의 API 수준을 수준 6으로 업데이트했습니다. (Ie0a69)
- A4C에 메시지 콜백을 추가했습니다. (Ie3986)
버그 수정
CarMessage
의 누락된 자바 문서 참조를 추가했습니다. (I5db1c)ConversationItem
및CarMessage
의equals()
및hashCode()
를 재정의했습니다. (I6fd10)ConversationItem.mMessages
유효성 검사를 개선했습니다(null이 아니고 비어 있지 않아야 함). (Iafc51)ConversationItem
필드에@Keep
주석을 추가했습니다. (I5d250)- 행 장식 및 보조 작업의 자바 문서를 업데이트했습니다. (I000b6)
버전 1.3
버전 1.3.0-rc01
2022년 12월 7일
androidx.car.app:app-*:1.3.0-rc01
이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
- beta01의 기타 버그가 수정되었습니다. 주요 변경사항은 없습니다.
버전 1.3.0-beta01
2022년 9월 7일
androidx.car.app:app:1.3.0-beta01
, androidx.car.app:app-projected:1.3.0-beta01
, androidx.car.app:app-automotive:1.3.0-beta01
, androidx.car.app:app-testing:1.3.0-beta01
이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
- 이 라이브러리를 사용하여 빌드된 자동차 앱은 이제 API 수준 5를 사용하는 Play 스토어로 이동할 수 있습니다(개발 가이드 참고). API 수준 5 이하의 주석이 달린 기능은 Android Auto 8.1 이상 및 Google Automotive 앱 호스트 1.4 이상과 모두 호환됩니다.
새로운 기능
자동차 앱 라이브러리 1.3.0-alpha01에 추가된 기능 외에도 다음 기능이 beta01의 일부로 추가되었습니다. 여기에 표시된 모든 기능은 API 변경 없이 호스트 측 변경만 발생합니다.
- 플로팅 탐색 메뉴가 사용자가
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,MapTemplate
의 지도 기반 선택 화면에 위치하고 있는 경우에도 계속 표시됩니다.NavigationManager.updateTrip()
을 통해 탐색 정보를 업데이트하면 됩니다. - 시간 제한 애니메이션을 적용하려면
FLAG_DEFAULT
로 작업 버튼을 사용 설정하세요. 이 버튼은 제한 시간이 지나면 기본적으로 클릭됩니다. ([API 5 - All Templates]
) - 자동차가 주차되어 있을 때는
Row
의 하위 텍스트가 잘리지 않지만 운전 중에는 두 줄로 잘립니다. ([API 5 - All Templates]
) Action
,Toggle
,Row
([API 5 - All Templates]
)의 사용 중지 상태가 지원됩니다.
API 변경사항
- 선택 가능한 목록을 지원하도록
MapTemplate
목록의 제약 조건이 완화됩니다. (I961ed) - 맞춤 아이콘을 허용하도록 헤더 작업의 제약 조건이 삭제됩니다. (Iad28f)
setOnClickListenerAllowed()
제약 조건을ActionsConstraints
에 추가합니다. 여기서Action
이OnClickDelegate()
를 표준 아이콘 유형을 제외한 작업으로 설정할 수 있었습니다. (TYPE_APP_ICON
,TYPE_BACK
,TYPE_PAN
) (I3c745)
버그 수정
- 곡면 디스플레이가 사용된 Android Automotive 템플릿 호스트 1.4 이상의 호환성이 추가되었습니다(
[Host change]
).
버전 1.3.0-alpha01
2022년 7월 27일
androidx.car.app:app:1.3.0-alpha01
, androidx.car.app:app-projected:1.3.0-alpha01
, androidx.car.app:app-automotive:1.3.0-alpha01
, androidx.car.app:app-testing:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
API 수준 5로 주석이 달린 기능은 Android Auto 7.9 이상과 호환됩니다.
새로운 기능
- API 수준 5: 탐색 앱에서 지도와 함께 창 또는 목록 콘텐츠를 표시하는 데 사용할 수 있는 새로운
MapTemplate
입니다. (If5826, If44b8) - API 수준 5: 호스트 차량의 마이크를 통해 오디오 입력을 녹음할 수 있는 새로운
CarAudioRecord
API입니다. (I5e71a) - API 수준 5: 앱이 호스트에 추천을 제공할 수 있는 새로운
SuggestionManager
API입니다. (I5c103) - API 수준 5:
NavigationTemplate
의 컨텍스트 알림에 표시하는 새로운Alert
API입니다. (I163a7, I5ad70) - API 수준 5: 템플릿 전반에서 재사용을 용이하도록 하는 새로운
Header
및MapController
구성요소입니다. (If5826) - 관심 장소 앱을 사용 설정하기 위한 카테고리로
androidx.car.app.category.POI
를 추가하고androidx.car.app.category.PARKING
및androidx.car.app.category.CHARGING
을 지원 중단했습니다. (I59da1)
API 변경사항
- API 수준 5:
SurfaceCallback
인터페이스의 새로운onClick
메서드를 통해 지도 상호작용을 탭할 수 있습니다. (Ia9777) - API 수준 5: 새로운 플래그
Action.FLAG_IS_PERSISTENT
및Action.FLAG_DEFAULT
를 통해Action
을 설명합니다. (I96318, I5ad70) - API 수준 5:
Action
,Row
,Toggle
구성요소의 새로운 사용 설정/사용 중지 상태입니다(1.3.0-beta01 버전의 라이브러리에서 호스트 지원이 제공됨). (ID8a09) - API 수준 5: 기존
setTitle
및setHeaderAction
메서드를 지원 중단하고PlaceListNavigationTemplate.Builder
및RoutePreviewNavigationTemplate.Builder
에서setHeader
를 통해 새Header
구성요소를 선호합니다. (I30e6a) - API 수준 5: 새
OnContentRefreshListner
인터페이스 구현과 함께 사용할PlaceListMapTemplate.Builder
및PlaceListNavigationTemplate.Builder
의 새로운setOnContentRefreshListner
메서드입니다. - API 수준 5: 예상 이동 시간 카드를 맞춤설정하는
TravelEstimate.Builder
의 새로운setTripText
및setTripIcon
입니다. (Idcc6d, Ic620d) PaneTemplate
제목에CarIconSpan
지원을 추가했습니다. (Ia1ee0)Row
의 제목과 텍스트에CarIconSpan
지원을 추가했습니다. (Ic1e3c)- 이제 지도
ActionStrip
에 최대 4개의 작업을 포함할 수 있습니다. (If3522) - 자동차 앱 API 수준을 5로 업데이트했습니다. (I26b8e)
- 이제 헤더/제목이
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
,SignInTemplate
에서 선택사항입니다. (I2078d, Icadde)
버그 수정
PaneTemplate
이미지 크기 조정 규칙이 정사각형 경계 상자가 되도록 업데이트했습니다. (Idd72e)State.DESTROYED
후 화면 스택 수정 시 예외가 발생하는 문제를 수정했습니다. (I3c8eb)- 앱 아이콘을 검색하는 null 검사를 추가했습니다. (I3f710)
- 기본적으로
STATUS_UNAVAILABLE
대신STATUS_UNKNOWN
을 사용하도록 Car Hardware API를 업데이트했습니다. (Ic9444) - 표면을 만들기 전에 디스플레이가 있는지 확인합니다. (Ice027a)
STATUS_UNIMPLEMENTED
와 관련된CarValue.equals()
버그를 수정했습니다. (I24451)
버전 1.2
버전 1.2.0
2022년 11월 9일
androidx.car.app:app-*:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
- 이 버전은 안정화 버전이며 v1.2.0-rc01과 비교하여 변경사항이 없습니다.
버전 1.2.0-rc01
2022년 3월 23일
androidx.car.app:app-*:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
- 이 버전은 안정화 버전이며
v1.2.0-beta02
와 비교하여 API 변경사항이 없습니다. 향후 Android Auto 및 Android Automotive 출시를 위한 새로운 실험용 기능(API 수준 5)을 추가했습니다.
버그 수정
State.DESTROYED
후 화면 스택 수정 시 예외가 발생하는 문제가 수정되었습니다. (I3c8eb)CarSensors
API가 AAOS용으로 구현되지 않았음을 표시하도록 업데이트되었습니다. (Idd57b)- ACCESS_COARSE_LOCATION이 해당 기능에 충분한지 표시하도록
PlaceListMapTempalte.Builder#setCurrentLocationEnabled
가 업데이트되었습니다. (I510c2) - roundabout-with-angle 조작 유형의 종료 번호를 선택사항으로 변경했습니다. (Ife7d1)
버전 1.2.0-beta02
2022년 1월 26일
androidx.car.app:app-*:1.2.0-beta02
가 출시되었습니다. 버전 1.2.0-beta02에 포함된 커밋을 확인하세요.
Android Automotive OS
플랫폼을 타겟팅하는 이 라이브러리 버전으로 빌드된 자동차 앱을 이제 Play 스토어 공개 테스트 채널에 게시할 수 있습니다. 자세한 내용은 개발 가이드를 참고하세요.
API 수준 4 이하의 주석이 달린 기능은 Android Auto
7.2 이상 및 새 Android Automotive OS
플랫폼과 모두 호환됩니다. 주의사항은 아래의 Known Issues
섹션을 참고하세요.
API 변경사항
- 실험용
setOnContentRefreshListener
API를 POI 템플릿에 추가했습니다. (I6bf22)
버그 수정
- 자동차 호스트가 바인딩을 해제할 때
CarAppService
에서 메모리 누수가 발생하는 문제를 수정했습니다. (I5c9ca, b/203594731) - singleTask launchmode의 요구사항을 포함하도록
CarAppActivity
javadoc을 업데이트했습니다. (Id2f95) - 재개 시 시각적 결함을 줄였습니다. (Iff7e0)
알려진 문제
PlaceListNavigationTemplate
및RoutePreviewNavigateTemplate
의ActionStrip
맵이 다음Android Auto
및Android Automotive OS
버전에서 제공될 예정입니다.
버전 1.2.0-alpha02
2021년 12월 15일
androidx.car.app:app-*:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
API 수준 4로 주석이 달린 기능이 실험용에서 안정화 버전으로 업그레이드되었습니다. 여기에는 PlaceListNavigationTemplate
과 RoutePreviewNavigateTemplate
의 지도 ActionStrip
, Pane
의 CarIcon
이미지, Action
의 QRCodeSignInMethod
및 렌더링 힌트(예: 플래그) 설정 기능이 포함됩니다.
새로운 기능
- Android Auto 7.1 이상에서
Pane
의 항목 한도가 2에서 4로 증가했습니다.
API 변경사항
- 실험용
toString()
메서드를CarUnit
에 추가했습니다. (I36a3b)
버그 수정
- 콜백이 종료된 경우
CarAppPermissionActivity
에서 발생하는 비정상 종료 문제를 수정했습니다. (If9823) Pane
기본 목록 한도를 4로 변경했습니다. (I0068b)
버전 1.2.0-alpha01
2021년 11월 3일
androidx.car.app:app-*:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
모든 새로운 v1.2.0
기능(API 4 이상)은 현재 향후 Android Auto 및 Android Automotive OS 버전을 타겟팅하는 실험용입니다. 자세한 내용은 개발 가이드를 참고하세요.
API 변경사항
AutomotiveCarInfo
API를 실험용으로 만들었습니다. (Ia13e5)- 자동차 앱 라이브러리 API 수준 4를 추가했습니다. (I2a2e7)
- API 수준 4:
Pane
에서CarIcon
설정 지원을 추가했습니다. (Ifcc12) - API 수준 4: QR 코드 로그인 메서드를 추가했습니다. (Ib623e)
- API 수준 4:
Action
에 set/getFlags를 추가했습니다. (Ic03ab) - API 수준 4:
PlaceListNavigationTemplate
및RoutePreviewNavigationTemplate
에서 화면 이동 및 확대/축소 지원을 추가했습니다. (I9d8a3)
버그 수정
- API 수준 4: 앱에서 자동차 호스트에 위치 업데이트를 전송할 수 있는 메커니즘을 추가했습니다. (I3bad3)
- 호스트 검증 로직에서 TEMPLATE_RENDERER 권한을 제대로 찾지 못하는 문제를 수정했습니다.(I62618)
버전 1.1.0
버전 1.1.0
2021년 12월 15일
androidx.car.app:app-*:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
이 버전은 안정화 버전이며 v1.1.0-rc01
과 비교하여 변경사항이 없습니다. 자동차 앱 라이브러리의 새로운 기능에 관한 자세한 내용은 v1.2.0-alpha02
출시 노트도 참고하세요.
1.0.0 이후 중요 변경사항
- API 수준 2: 차량이 주차되었을 때 로그인 흐름에 사용할 수 있는
SignInTemplate
과LongMessageTemplate
입니다. - API 수준 2:
NavigationTemplate
내 지도 상호작용 지원입니다. - API 수준 2: 자동차 화면 크기에 따라 표시할 여러 버전의 문자열을 앱이 제공할 수 있도록 하는 여러 길이의 텍스트 지원입니다.
- API 수준 3: 모델 및 제조사, 연료 수준, 기타 센서와 같은 차량의 하드웨어 데이터를 쿼리하는 데 사용할 수 있는
CarHardwareManager
입니다.
버전 1.1.0-rc01
2021년 11월 3일
androidx.car.app:app-*:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
이 버전은 안정화 버전이며 v1.1.0-beta01
와 비교하여 API 변경사항이 없습니다. 향후 Android Auto 출시를 위한 새로운 실험용 기능(API 수준 4)을 추가했습니다. 실험용 API에 관한 자세한 내용은 v1.2.0-alpha01
출시 노트를 참고하세요.
버전 1.1.0-beta01
2021년 9월 1일
androidx.car.app:app-*:1.1.0-beta01
이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
모든 v1.1.0
기능(API 2 이상)이 Android Auto 6.7 이상과 완벽하게 호환됩니다. 자세한 내용은 개발 가이드를 참고하세요.
API 변경사항
- 공개 인터페이스인
Manager
를 삭제했습니다. (Ie381b) - 권한 요청에 맞춤 브랜드 배경을 설정할 수 있는 기능을 추가했습니다. (I74b76)
ScreenManager.getStackSize
를 추가했습니다. (I0b16a)- 명시적으로
TestCarContext
를 사용하는ScreenController
생성자를 삭제했습니다. (Iefebc)
버그 수정
CarHardwareManager
를 만들 때 API 수준을 확인하는 기능을 추가했습니다. (I48f9b)- API에서 잘못된
CarSpan
사용을 확인하는 기능을 추가했습니다. (I65ae6) Screen
이 생성 중 완료됨으로 표시되면 스택이 손상된 상태로 남는 문제를 해결했습니다. (I81b13)CarAppExtender
에 아이콘이 있는 작업이 있으면CarNotificationManager.notify
가 AutomotiveOS에 관한 오류를 기록하는 문제를 해결했습니다. (I3633d)- API 버전을 설정하기 위해 앱과 호스트를 위한 핸드셰이크 메서드를 추가했습니다. (I7d6f8)
버전 1.1.0-alpha02
2021년 7월 21일
androidx.car.app:app-*:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- API 수준 3: 모델 및 제조사, 연료 수준, 기타 센서와 같은 차량의 하드웨어 데이터를 쿼리하는 데 사용할 수 있는
CarHardwareManager
를 추가했습니다. 현재 이 기능은 공개 테스트 채널의 Android Auto 6.7 이상에만 제공됩니다. 데스크톱 환경에서 테스트하려면 별도로 출시되는Desktop Head Unit
의 새 버전이 필요합니다. 새로운 버전의 출시 시기에 관한 자세한 내용은 자동차용 Android 앱 테스트 페이지를 참고하세요. - 자세한 내용은 개발 가이드와 라이브러리 참조를 참고하고 API 수준 3과 호환되는 자동차 호스트에서 이러한 기능을 사용하는 방법은 디자인 가이드라인을 참고하세요.
API 변경사항
SessionController
및ScreenController
수명 주기 메서드를 단일moveToState
메서드에 통합했습니다. (I1ed00)CarContext#getHostInfo()
를 추가했습니다. (I8977e)- 지원 중단된 필드를 삭제했습니다. (I67168)
- 생성자를 직접 노출하도록
SessionController
및ScreenController
를 업데이트했습니다. (Iabf22) PinSignInMethod.Builder
및ProviderSignInMethod.Builder
를 삭제했습니다. (I9f0cb)- AAOS에서 템플릿 앱 'for result'를 사용할 수 있도록 'setCarAppResult()'를 추가했습니다. (I37741)
CarHardware
인터페이스에@MainThread
로 주석을 추가했습니다. (Ib2f85)OnCarDataListener
에서OnCarDataAvailableListener
로 이름이 변경되었습니다. (I518ca)CarInfo
,Speed
,Mileage
메서드 이름 및 javadoc을 업데이트했습니다. (I86672)Toll
에서TollCard
로 이름이 변경되었습니다. (I3e7c8)- 지원 중단되어
PinSignInMethod.getPinCode
로 대체된PinSignInMethod.getPin
을 삭제했습니다. (I996ce) OnInputCompletedListener
를 삭제했습니다(InputCallback
으로 대체됨). (Ib5be1)PinSignInMethod
가String
대신CharSequence
를 사용하도록 변경되었습니다. (I275d5)
버그 수정
- 자동차 하드웨어의 Javadoc를 수정합니다. (I2abbc)
외부 기여
알려진 문제
SignInTemplate
에서InputSignInMethod
를 사용하면 자동차 호스트에NullPointerException
으로 이어질 수 있습니다. 이 문제는 라이브러리의 다음 릴리스에서 해결될 예정입니다. 문제를 해결하려면 앱의 Proguard 구성에 다음 줄을 포함합니다.-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
버전 1.1.0-alpha01
2021년 6월 16일
androidx.car.app:app:1.1.0-alpha01
, androidx.car.app:app-automotive:1.1.0-alpha01
및 androidx.car.app:app-testing:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- API 수준 2: 차량이 주차되었을 때 로그인 흐름에 사용할 수 있는 새로운
SignInTemplate
과LongMessageTemplate
입니다. - API 수준 2:
NavigationTemplate
내 새로운 지도 상호작용 지원입니다. - API 수준 2: 자동차 화면 크기에 따라 표시할 여러 버전의 문자열을 앱이 제공할 수 있도록 하는 새로운 여러 길이의 텍스트 지원입니다.
- 자세한 내용은 개발 가이드와 라이브러리 Javadoc을 참고하고 API 수준 2와 호환되는 자동차 호스트에서 이러한 기능을 사용하는 방법은 디자인 가이드라인을 참고하세요.
API 변경사항
- 모든
*Callback
인터페이스 메서드를 기본값으로 설정하고OnRequestPermissionsCallback
에서OnRequestPermissionsListener
로 이름을 바꿨습니다. (Ib3ec9) - 불필요한 빌더 및 매개변수 클래스를 삭제하도록
androidx.car.app.hardware
클래스를 업데이트했습니다. (I67beb) - 연료, 배터리, 속도 등 자동차 관련 데이터에 액세스하는
androidx.car.app.hardware
클래스를 추가했습니다. (Iff3c9) MessageTemplate
에ActionStrip
지원을 추가했습니다. (Ida657)MessageTemplate
에setLoading
을 추가했습니다. (I2a4b5)ConnectionToCar
에서CarConnection
으로 이름을 바꿨습니다. (Ife9bd)- 명시적인
PanModeDelegate
를 반환하도록NavigationTemplate
을 변경했습니다. (I13877) CarContext.requestPermissions
의 매개변수 순서를 업데이트했습니다. (Ib890a)- 최소 자동차 API 수준을
androidx.car.api.minCarApiLevel
로 정의하도록 메타데이터 키를 업데이트했습니다. (Ib0d41) - 자동차 연결 상태를 관찰할 수 있는 API를 만들었습니다. (Ifc935)
Action
의 전환 버튼 설정 지원을 추가하고 화면 이동 모드Action
유형을 추가했습니다. (Ica6af)- 자동차에서 알림 전송을 지원하는
CarNotificationManager
를 만들었습니다. (I10d7a) - 호스트에서 목록 한도를 제공하는
ConstraintManager
를 추가했습니다. (I8690e) NavigationTemplate
에 화면 이동 모드와 지도 액션 스트립 API를 추가했습니다. (I77aa6)- 내비게이션 앱을 위한
SurfaceCallback
에 화면 이동 및 확대/축소 API를 추가했습니다. (Id5e9d) CarAppApiLevel
을 2로 업데이트했습니다. (Ic1540)CarAppService
에서 권한을 요청하는 기능을 추가했습니다. (I5421e)- 멀티 텍스트 API에
RequiresCarApi(2)
주석을 추가했습니다. (Iacb62) - 절반 목록 템플릿 제목에 여러 텍스트 변형을 허용했습니다. (Ib8df7)
- 새로운
LongMessageTemplate
을 추가했습니다. (Car API 수준 2 필요) (Ic5cee)
버그 수정
- 더 큰 자동차 화면을 고려하여 이미지 크기 요구사항을 업데이트했습니다. (I116dc)
- 템플릿 본문에 작업을 3개 이상 추가하는 것을 허용하지 않습니다. (I32157)
- 자동차 앱 라이브러리 세트 플래그에서 모든
PendingIntent
생성을 확인했습니다. (If84fe, b/186394900) Row
의 텍스트 변경사항을 새로고침으로 허용하도록 javadoc을 업데이트했습니다. (If3f9c)- 이제
androidx.activity:activity:1.2.0
이 API 종속 항목입니다. (Id1cb9) - 본문에서 주차 전용 작업을 요구하도록
SignInTemplate
과LongMessageTemplate
을 만들고 자동차가 주차된 경우에만 표시된다고 나타내도록 문서를 업데이트합니다. (Iddaa9) - 시작 중
Screen
을 표시할 때 발생하는 예외 문제를 해결했습니다. (Ifcf40, b/184664896) ForegroundCarColorSpan
에서 맞춤 텍스트 색상을 허용했습니다. (I69e59)Screen
의ON_DESTROY
후에Session
의ON_DESTROY
가 관찰되는 문제를 해결했습니다. (I52e01, b/183696617)TravelEstimate
의 남은 시간을 알 수 없는 시간으로 설정하는 것이 허용되는 시점에 관해 javadoc을 업데이트했습니다. (I99610, b/183632456)- 제목과 모든 맞춤 배경 색상에서
ForegroundColorSpan
을 지원하도록Action
을 업데이트했습니다. (I578e4) - 실행자가 실행하기 전에 콜백이 삭제된 경우
NavigationManagerCallback#onStopNavigation
을 실행하면 안 됩니다. (I7fc5e, b/181143772) - 앱이 lifecycle-common-java8의 종속 항목을 명시적으로 사용해야 하는 문제를 해결했습니다. (I8b8c8)
알려진 문제
SignInTemplate
에서 사용자가 입력을 확인하려고 할 때 '입력' 아이콘 대신 '검색' 아이콘이 터치 키보드에 표시됩니다. 이 문제를 해결하려면 사용자가 입력란에 포커스가 있을 때 활성화되는 휴대전화 키보드에 액세스하면 됩니다.- Android Auto 버전 6.5에서는
SurfaceCallback
의 화면 이동 및 확대/축소 콜백이 일부 터치 동작에서 잘못 호출될 수 있습니다.
자동차 앱 테스트 버전 1.0.0
버전 1.0.0-alpha01
2021년 3월 24일
androidx.car.app:app-testing:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
이 버전은 이전 비공개 소스 테스트 라이브러리의 첫 번째 Jetpack 버전입니다. 테스트에서 이 라이브러리를 사용하는 방법은 샘플을 참고하세요.
새로운 기능
- 모델 클래스의 컨트롤러가 삭제되었습니다. 이제 모델 getter가 빌더에 설정된 값의 유효성을 검사할 수 있는 공개 API 노출 영역에 포함됩니다.
- 호스트와 연결된 전체 기간과 관련된 로직을 테스트할 수 있도록 이전
CarAppServiceController
가 새SessionController
로 대체되었습니다.
버전 1.0.0
버전 1.0.0
2021년 4월 21일
androidx.car.app:app:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
- 4월 초 Google은
androidx.car.app:app:1.0.0-rc01
을 사용하여 앱을 프로덕션 채널에 게시할 수 있다고 발표했습니다. Car App Library v1.0.0은 현재 안정화되어 Android Auto 6.1 이상과 완전히 호환됩니다. - 라이브러리를 사용하여 Android Auto용 내비게이션, 주차, 충전 앱을 빌드하는 자세한 방법은 개발 가이드를 참고하세요.
버그 수정
- 시작 중
Screen
을 표시할 때 발생하는 예외 문제를 해결했습니다. (70aae1, b/184664896) Screen
의ON_DESTROY
후에Session
의ON_DESTROY
가 관찰되는 문제를 해결했습니다. (0ceecb, b/183696617)
버전 1.0.0-rc01
2021년 3월 24일
androidx.car.app:app:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- 콜백이 삭제된 후
NavigationManagerCallback#onStopNavigation
이 호출되었던 경합 상태 버그를 수정했습니다. 이 버그는 콜백 실행기가 실제로 실행되기 전에 콜백이 삭제되면 발생합니다. (I7fc5e, b/181143772) lifecycle-common-java8
의 종속 항목을 명시적으로 가져오도록 앱에 요구하던 문제를 해결했습니다. (I8b8c8)- 앱이 이미 콜백을 삭제했을 때
stopNavigation
호출을 수신하면 발생하던NullPointerException
을 해결했습니다. (Ib8b89, b/181143772) - 앱의 수명 주기가 최소한
CREATED
상태에 있지 않으면 앱에 호출을 보내지 않도록 개선했습니다. (I86965, b/179800224, b/177921120) - 앱의 매니페스트에 지정된 최소 API 수준이 잘못되어 예외가 발생하고 그로 인해 호스트에서 ANR이 발생하는 문제를 해결했습니다. (Iffedd, b/174231592)
버전 1.0.0-beta01
2021년 2월 24일
androidx.car.app:app:1.0.0-beta01
이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
이 버전은 이전 비공개 소스 라이브러리의 최초 Jetpack 버전이며 Android Auto 6.1 이상과 호환됩니다. 라이브러리를 사용하여 자동차 앱을 빌드하는 자세한 방법은 개발 가이드를 참고하세요.
새로운 기능
- 앱에서 UI 요소 목록을 그리드 레이아웃으로 표시하는 데 사용할 수 있는
GridTemplate
을 도입했습니다. - 호스트 연결이 신뢰할 수 있는 소스(예: Android Auto)인지 확인하는
CarAppService.createHostValidator
메서드를 도입했습니다. CarAppExtender.Builder.setColor
API를 추가했습니다. (b/174231592)
버그 수정
- 화면을 순차적으로 표시할 때 잘못된
Screen
이 다시 시작되는 문제가 해결되었습니다. (b/177590791)