자동차 앱

Android Auto 및 Android Automotive OS용 템플릿 형식 앱을 빌드합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
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)
  • 비정상 종료를 방지하기 위해 BaseCarAppActivityonDestroy 메서드에서 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)
  • ListTemplateHeader 지원을 추가하고 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)
  • MessageTemplateHeader 속성 지원을 추가했습니다. 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/getTemplateset/get ContentTemplate로 만들었습니다. (Ica036)
  • 이제 템플릿 매개변수가 @NonNull입니다. MapWithContentTemplate API 문서를 업데이트했습니다. (I0f8ed)
  • CAL 1.4 실행을 위해 ListTemplate의 작업에 관한 @ExperimentalCarApi 태그를 삭제합니다. (I2cfcb)
  • TabTemplate@ExperimentalCarApi 태그를 삭제합니다. (Ifcb82)
  • 행 보조 작업 및 장식에서 @ExperimentalCarApi 주석을 삭제했습니다. (I8487e)
  • TabTemplate에 활성 탭 콘텐츠 ID를 추가하고 탭의 활성 상태를 지원 중단합니다. (I96932)
  • GridTemplateItemImageShape 속성을 추가했습니다. (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)
  • ConversationItemCarMessageequals()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에 포함된 커밋을 확인하세요.

새로운 기능

자동차 앱 라이브러리 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에 추가합니다. 여기서 ActionOnClickDelegate()를 표준 아이콘 유형을 제외한 작업으로 설정할 수 있었습니다. (TYPE_APP_ICON, TYPE_BACK, TYPE_PAN) (I3c745)

버그 수정

버전 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: 템플릿 전반에서 재사용을 용이하도록 하는 새로운 HeaderMapController 구성요소입니다. (If5826)
  • 관심 장소 앱을 사용 설정하기 위한 카테고리로 androidx.car.app.category.POI를 추가하고 androidx.car.app.category.PARKINGandroidx.car.app.category.CHARGING을 지원 중단했습니다. (I59da1)

API 변경사항

  • API 수준 5: SurfaceCallback 인터페이스의 새로운 onClick 메서드를 통해 지도 상호작용을 탭할 수 있습니다. (Ia9777)
  • API 수준 5: 새로운 플래그 Action.FLAG_IS_PERSISTENTAction.FLAG_DEFAULT를 통해 Action을 설명합니다. (I96318, I5ad70)
  • API 수준 5: Action, Row, Toggle 구성요소의 새로운 사용 설정/사용 중지 상태입니다(1.3.0-beta01 버전의 라이브러리에서 호스트 지원이 제공됨). (ID8a09)
  • API 수준 5: 기존 setTitlesetHeaderAction 메서드를 지원 중단하고 PlaceListNavigationTemplate.BuilderRoutePreviewNavigationTemplate.Builder에서 setHeader를 통해 새 Header 구성요소를 선호합니다. (I30e6a)
  • API 수준 5: 새 OnContentRefreshListner 인터페이스 구현과 함께 사용할 PlaceListMapTemplate.BuilderPlaceListNavigationTemplate.Builder의 새로운 setOnContentRefreshListner 메서드입니다.
  • API 수준 5: 예상 이동 시간 카드를 맞춤설정하는 TravelEstimate.Builder의 새로운 setTripTextsetTripIcon입니다. (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)

알려진 문제

  • PlaceListNavigationTemplateRoutePreviewNavigateTemplateActionStrip 맵이 다음 Android AutoAndroid Automotive OS 버전에서 제공될 예정입니다.

버전 1.2.0-alpha02

2021년 12월 15일

androidx.car.app:app-*:1.2.0-alpha02가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.

API 수준 4로 주석이 달린 기능이 실험용에서 안정화 버전으로 업그레이드되었습니다. 여기에는 PlaceListNavigationTemplateRoutePreviewNavigateTemplate의 지도 ActionStrip, PaneCarIcon 이미지, ActionQRCodeSignInMethod 및 렌더링 힌트(예: 플래그) 설정 기능이 포함됩니다.

새로운 기능

  • 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: PlaceListNavigationTemplateRoutePreviewNavigationTemplate에서 화면 이동 및 확대/축소 지원을 추가했습니다. (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: 차량이 주차되었을 때 로그인 흐름에 사용할 수 있는 SignInTemplateLongMessageTemplate입니다.
  • 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 변경사항

  • SessionControllerScreenController 수명 주기 메서드를 단일 moveToState 메서드에 통합했습니다. (I1ed00)
  • CarContext#getHostInfo()를 추가했습니다. (I8977e)
  • 지원 중단된 필드를 삭제했습니다. (I67168)
  • 생성자를 직접 노출하도록 SessionControllerScreenController를 업데이트했습니다. (Iabf22)
  • PinSignInMethod.BuilderProviderSignInMethod.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)
  • PinSignInMethodString 대신 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-alpha01androidx.car.app:app-testing:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • API 수준 2: 차량이 주차되었을 때 로그인 흐름에 사용할 수 있는 새로운 SignInTemplateLongMessageTemplate입니다.
  • API 수준 2: NavigationTemplate 내 새로운 지도 상호작용 지원입니다.
  • API 수준 2: 자동차 화면 크기에 따라 표시할 여러 버전의 문자열을 앱이 제공할 수 있도록 하는 새로운 여러 길이의 텍스트 지원입니다.
  • 자세한 내용은 개발 가이드와 라이브러리 Javadoc을 참고하고 API 수준 2와 호환되는 자동차 호스트에서 이러한 기능을 사용하는 방법은 디자인 가이드라인을 참고하세요.

API 변경사항

  • 모든 *Callback 인터페이스 메서드를 기본값으로 설정하고 OnRequestPermissionsCallback에서 OnRequestPermissionsListener로 이름을 바꿨습니다. (Ib3ec9)
  • 불필요한 빌더 및 매개변수 클래스를 삭제하도록 androidx.car.app.hardware 클래스를 업데이트했습니다. (I67beb)
  • 연료, 배터리, 속도 등 자동차 관련 데이터에 액세스하는 androidx.car.app.hardware 클래스를 추가했습니다. (Iff3c9)
  • MessageTemplateActionStrip 지원을 추가했습니다. (Ida657)
  • MessageTemplatesetLoading을 추가했습니다. (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)
  • 본문에서 주차 전용 작업을 요구하도록 SignInTemplateLongMessageTemplate을 만들고 자동차가 주차된 경우에만 표시된다고 나타내도록 문서를 업데이트합니다. (Iddaa9)
  • 시작 중 Screen을 표시할 때 발생하는 예외 문제를 해결했습니다. (Ifcf40, b/184664896)
  • ForegroundCarColorSpan에서 맞춤 텍스트 색상을 허용했습니다. (I69e59)
  • ScreenON_DESTROY 후에 SessionON_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)
  • ScreenON_DESTROY 후에 SessionON_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 이상과 호환됩니다. 라이브러리를 사용하여 자동차 앱을 빌드하는 자세한 방법은 개발 가이드를 참고하세요.

새로운 기능

버그 수정

  • 화면을 순차적으로 표시할 때 잘못된 Screen이 다시 시작되는 문제가 해결되었습니다. (b/177590791)