자동차 앱
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2025년 7월 16일 | 1.7.0 | - | - | 1.8.0-alpha02 |
종속 항목 선언
자동차 앱 라이브러리에 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.car.app:app:1.7.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.7.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.7.0" // For testing testImplementation "androidx.car.app:app-testing:1.7.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.7.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.7.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.7.0") // For testing testImplementation("androidx.car.app:app-testing:1.7.0") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.8
버전 1.8.0-alpha02
2025년 6월 18일
androidx.car.app:app-*:1.8.0-alpha02이 출시되었습니다. 버전 1.8.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 미디어 재생 상태에 따라 표시기를 표시하는
Action.MEDIA_PLAYBACK지원을 추가했습니다. SectionedItemTemplate새로고침 시 사용자의 스크롤 위치를 제어하는 지원이 추가되었습니다.
API 변경사항
- 새로고침 간에
SectionedItemTemplate내에서 사용자의 스크롤 위치를 저장하는 지원 추가 (Ia4c51) - 행 끝 작업 (I05cc4)에 사용할 수 있도록
MEDIA_PLAYBACK작업을 업데이트함 - 새 작업 유형 추가 (I6cc5a)
- 모든 유형의 작업을
CarAppExtender에 추가할 수 있도록CarAppExtender#addAction(Action)추가 (Idc4d7) - API 8 이상에서
SectionedItemTemplate에 액세스할 수 있도록 했습니다. (I9a079)
버전 1.8.0-alpha01
2025년 5월 20일
androidx.car.app:app-*:1.8.0-alpha01이 출시되었습니다. 버전 1.8.0-alpha01에는 이 커밋이 포함되어 있습니다.
새로운 기능
모든 기능은 일시적으로 Android Auto에서만 사용할 수 있습니다. 동일한 API가 AAOS 전반에서 활용됩니다.
MediaBrowse기반 맞춤 애플리케이션의 대안으로 맞춤 애플리케이션을 만들 수 있는 미디어 카테고리 추가- 미디어 재생 뷰에서 상단 작업을 제어할 수 있는 재생 템플릿 추가 (미디어 앱에서만 사용 가능)
- Android Auto에서 섹션 항목 템플릿을 완전히 지원하여 목록/그리드로 구성된 하위 섹션을 조합할 수 있습니다.
- 그리드 항목의 추가 크기로 초대형을 추가했습니다.
API 변경사항
- 그리드 항목의 추가 크기 옵션 추가 (I35b58)
- 자동차 앱 라이브러리에 미디어 앱의 카테고리 및 권한 추가 (I8e100)
- 앱이
CarAppLibrary미디어 카테고리가 지원되는지 감지할 수 있는 새 API 추가 (Ic4b08) - 섹션에
OnItemVisibilityChangeListener추가 (I2c2fd) Mileage#getOdometerKilometers를 추가하고Mileage#getOdometerMeters를 지원 중단했습니다. (Ic91af)
버그 수정
CarIcon.setTint의 Javadoc에서 오타 수정 (Iabd72)- 작업 1개 + 숫자 장식은 지원되지 않지만 작업 0개 또는 2개 + 숫자 장식은 지원되는 방식을 반영하도록
Row.Builder#setNumericDecoration문서가 업데이트되었습니다. (Ic0b08) - 그리드 항목의 배지 아이콘 배경색 필드가 추가되었습니다. (I2b6ae)
버전 1.7
버전 1.7.0
2025년 7월 16일
androidx.car.app:app-*:1.7.0이 출시되었습니다. 버전 1.7.0에는 이 커밋이 포함되어 있습니다.
- 이는 베타03에서 패치된 CVE-2024-10382 수정사항이 포함된 첫 번째 안정화 버전입니다. 1.7-beta03보다 낮은 버전을 사용 중인 경우 이 버전을 사용하도록 업데이트하세요.
버전 1.7.0-rc01
2025년 1월 15일
androidx.car.app:app-*:1.7.0-rc01이 beta03에서 변경사항 없이 출시되었습니다. 버전 1.7.0-rc01에는 이 커밋이 포함되어 있습니다.
- 이는 beta03에서 패치된 CVE-2024-10382 수정사항이 포함된 첫 번째 RC입니다. 1.7-beta03보다 낮은 버전을 사용 중인 경우 이 버전을 사용하도록 업데이트하세요.
버전 1.7.0-beta03
2024년 11월 13일
보안 취약점 및 기타 일반적인 버그 수정 이전 버전을 사용 중이라면 이 버전으로 업데이트하세요.
androidx.car.app:app-*:1.7.0-beta03이 출시되었습니다. 버전 1.7.0-beta03에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
@CarProtocol주석이 선언된 객체만 처리하도록 CAL 직렬화 / 역직렬화 코드 업데이트 (Ic730e)- 이제
CarAppExtender를 사용하여NotificationCompat.Builder뿐만 아니라 프레임워크Notification.Builder도 확장할 수 있습니다. (Id3ad7) KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST추가 (I201f9)ConversationItem에서 빈 빌더 생성자를 지원 중단하고 필수 매개변수를 사용하는 생성자로 대체 또한 null 메시지를 방지하는 검사를 추가합니다. (Ic8221)
버그 수정
PlaceList지도에서 문자열 (텍스트 전용) 헤더 제목을 사용하는지 확인합니다. (Ic992f)- 이제 이 라이브러리는 유형 사용인 JSpecify nullness 주석을 사용합니다. Kotlin 개발자는 다음 컴파일러 인수를 사용하여 올바른 사용을 강제해야 합니다.
-Xjspecify-annotations=strict(Kotlin 컴파일러 버전 2.1.0부터 기본값임) (Ib5367, b/326456246)
버전 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)
버그 수정
- AGP 7.3 이상 (예: R8 버전 3.3)을 사용하여 R8을 사용하는 경우 API 모델링을 통해 자동으로 발생하고 AGP 8.1 이상 (예: D8 버전 8.1)을 사용하는 모든 빌드에 대해 새 플랫폼 API에 대한 액세스의 수동 윤곽을 삭제했습니다. 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 변경사항
MediaPlaybackTemplate.Builder에@ExperimentalCarApi태그를 추가합니다. (Ic1957)- 실험에 새
SectionedItemTemplate를 추가합니다. (I5958a) CarAppApiLevel 8도입 (I3fa22)- 자동차 앱 라이브러리에서 미디어 재생 중에 콘텐츠를 표시하기 위해
MediaPlaybackTemplate를 추가합니다. (I3c10d) - 앱이 운전 중 시스템에서 백그라운드 오디오를 지원하는지 감지하는 새 API 추가 (I0f868)
버그 수정
- CAL 클라이언트 코드 및 CAL 탐색 샘플 앱에서 발생하는 특정 메모리 누수 및 비정상 종료 인스턴스를 수정합니다. (I55e04)
- 비정상 종료를 방지하기 위해
BaseCarAppActivity의onDestroy메서드에서requireNotNull instances을 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#fetchExteriorDimensionsAPI 추가 (Ia40c5) MapWithContentTemplate에서ExperimentalAPI태그를 삭제했습니다. (I66db8)GridItem#setTitle매개변수를 null 허용으로 업데이트 (I3d610)GetHeaderAPI는 하위 호환되므로 (I8c812) API 7이 필요하지 않음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)- 미디어 센터 원격 분석이
BroadcastReceiver에서 탐색 맞춤 작업으로 변경되었습니다. (I4185f) MessageTemplate에Header속성 지원이 추가되었습니다.ActionStrip,headerAction,title지원이 지원 중단되었습니다. (Ie2de8)- 알림 상수 공개 상태 수정 (Icf8a8)
- 상위 템플릿 (I651e6)에서
isLoading속성 삭제 - 미디어 앱에 기본 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)
- 작성 버튼을 지원하기 위해 새 작업 유형,
ActionsConstraintsAPI 추가 (I31661) set/getTemplate를set/get ContentTemplate로 설정함 (Ica036)- 이제 템플릿 매개변수는
@NonNull입니다.MapWithContentTemplateAPI 문서 업데이트 (I0f8ed) - CAL 1.4에서 실행을 위해
ListTemplate의 작업에서@ExperimentalCarApi태그 삭제 (I2cfcb) TabTemplate의@ExperimentalCarApi태그 삭제 (Ifcb82)- 행 보조 작업 및 장식에서
@ExperimentalCarApi주석 삭제 (I8487e) - 활성 탭 콘텐츠 ID를
TabTemplate에 추가하고 탭의 활성 상태를 지원 중단함 (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: 호스트 차량의 마이크를 통해 오디오 입력을 녹음할 수 있는 새로운
CarAudioRecordAPI입니다. (I5e71a) - API 수준 5: 앱이 호스트에 추천을 제공할 수 있는 새로운
SuggestionManagerAPI입니다. (I5c103) - API 수준 5:
NavigationTemplate의 컨텍스트 알림에 표시하는 새로운AlertAPI입니다. (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)CarSensorsAPI가 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 변경사항
- 실험용
setOnContentRefreshListenerAPI를 POI 템플릿에 추가했습니다. (I6bf22)
버그 수정
- 자동차 호스트가 바인딩을 해제할 때
CarAppService에서 메모리 누수가 발생하는 문제를 수정했습니다. (I5c9ca, b/203594731) - singleTask launchmode의 요구사항을 포함하도록
CarAppActivityjavadoc을 업데이트했습니다. (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 변경사항
AutomotiveCarInfoAPI를 실험용으로 만들었습니다. (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.setColorAPI를 추가했습니다. (b/174231592)
버그 수정
- 화면을 순차적으로 표시할 때 잘못된
Screen이 다시 시작되는 문제가 해결되었습니다. (b/177590791)