Car App

Tạo ứng dụng mẫu cho Android Auto và Android Automotive OS.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 13 tháng 11 năm 2024 1.4.0 - 1.7.0-beta03 -

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc vào Thư viện Car App (Ứng dụng dành cho ô tô), bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

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")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.7

Phiên bản 1.7.0-beta03

Ngày 13 tháng 11 năm 2024

Khắc phục một lỗ hổng bảo mật và các bản sửa lỗi chung khác. Nếu bạn đang sử dụng phiên bản thấp hơn, vui lòng cập nhật để sử dụng phiên bản này.

Phát hành androidx.car.app:app-*:1.7.0-beta03. Phiên bản 1.7.0-beta03 bao gồm các thay đổi sau.

Thay đổi về API

  • Cập nhật mã Chuỗi tuần tự / Huỷ tuần tự CAL để chỉ xử lý các đối tượng có chú thích @CarProtocol được khai báo trên đó. (Ic730e)
  • Giờ đây, bạn có thể sử dụng CarAppExtender để mở rộng khung Notification.Builder thay vì chỉ NotificationCompat.Builder. (Id3ad7)
  • Thêm KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST bổ sung. (I201f9)
  • Ngừng sử dụng hàm khởi tạo Builder trống trên ConversationItem và thay thế bằng một hàm khởi tạo có các tham số bắt buộc. Ngoài ra, hãy thêm một bước kiểm tra để bảo vệ khỏi thông báo rỗng. (Ic8221)

Sửa lỗi

  • Đảm bảo rằng bản đồ PlaceList sử dụng chuỗi (Chỉ văn bản) Tiêu đề của tiêu đề. (Ic992f)
  • Thư viện này hiện sử dụng chú giải về tính chất rỗng của JSpecify, là loại sử dụng. Nhà phát triển Kotlin nên sử dụng các đối số trình biên dịch sau để thực thi cách sử dụng chính xác: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode. (Ib5367, b/326456246)

Phiên bản 1.7.0-beta02

Ngày 18 tháng 9 năm 2024

Phát hành androidx.car.app:app-*:1.7.0-beta02. Phiên bản 1.7.0-beta02 bao gồm các thay đổi sau.

Thay đổi về API

  • Thêm KEY_ROOT_HINT_MEDIA_HOST_VERSION bổ sung (I8796b)
  • Thay thế lớp TabContents.Api8Builder bằng hàm khởi tạo @ExperimentalCarApi trong lớp TabContents.Builder (I26fbe)
  • Thêm thao tác theo ý định và thông tin bổ sung cho CarMediaApp (I50782)
  • Đánh dấu API nhắn tin là không thử nghiệm (I0b070)
  • Thêm tính năng tải mục từ xa vào SectionedItemTemplate (cho phép tải các danh sách dài mà không gặp sự cố) (I0d122)
  • Thêm SectionedItemTemplate vào danh sách các mẫu được hỗ trợ bên trong TabTemplate trong API 8. (Idc5d6)

Sửa lỗi

  • Xoá phần trình bày quyền truy cập vào API nền tảng mới theo cách thủ công vì việc này diễn ra tự động thông qua tính năng tạo mô hình API khi sử dụng R8 với AGP 7.3 trở lên (ví dụ: R8 phiên bản 3.3) và cho tất cả các bản dựng khi sử dụng AGP 8.1 trở lên (ví dụ: D8 phiên bản 8.1). Những ứng dụng không sử dụng AGP nên cập nhật lên D8 phiên bản 8.1 trở lên. Xem bài viết này để biết thêm chi tiết. (I9496c, b/345472586)

Phiên bản 1.7.0-beta01

Ngày 26 tháng 6 năm 2024

Phát hành androidx.car.app:app-*:1.7.0-beta01. Phiên bản 1.7.0-beta01 bao gồm các thay đổi sau. Các tính năng giống như đã phát hành trong alpha01, được lặp lại dưới đây:

Tính năng mới

  • Bản đồ có nội dung: Mẫu mới là Bản đồ Canvas cùng với mẫu nội dung, hiện có thể là Danh sách / Lưới / Ngăn / Thông báo.
    • RoutePreview, PlaceListNavigation, MapTemplate hiện không dùng nữa. Các mẫu sẽ tiếp tục hoạt động như hiện tại.
    • Các ứng dụng mẫu đã được cập nhật để hiển thị cách sử dụng MapWithContent thay vì các mẫu không dùng nữa
  • Mục trò chuyện: Các API mới để hiển thị cuộc trò chuyện (IM, SMS) và bản đọc của Trợ lý trong ô tô.
  • Kích thước xe: API mới để truy xuất thông số đo lường xe (dữ liệu hiện có trên AAOS).

Thay đổi về API

  • Thêm thẻ @ExperimentalCarApi vào MediaPlaybackTemplate.Builder. (Ic1957)
  • Thêm SectionedItemTemplate mới trong thử nghiệm. (I5958a)
  • Giới thiệu CarAppApiLevel 8 (I3fa22)
  • Thêm MediaPlaybackTemplate để hiển thị nội dung trong khi phát nội dung đa phương tiện trong Thư viện ứng dụng cho ô tô. (I3c10d)
  • Thêm API mới cho các ứng dụng để phát hiện xem hệ thống có hỗ trợ âm thanh ở chế độ nền khi đang lái xe hay không (I0f868)

Sửa lỗi

  • Khắc phục một số trường hợp rò rỉ bộ nhớ và sự cố trong mã ứng dụng CAL và trong Ứng dụng mẫu điều hướng CAL. (I55e04)
  • Thay thế requireNotNull instances trong phương thức onDestroy của BaseCarAppActivity bằng các bước kiểm tra if-null để tránh sự cố. (Iec676)

Phiên bản 1.7.0-alpha02

Ngày 17 tháng 4 năm 2024

Phát hành androidx.car.app:app-*:1.7.0-alpha02. Phiên bản 1.7.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm các cờ không dùng nữa cho các mẫu dựa trên bản đồ mà mẫu MapWithContent sẽ hỗ trợ trong tương lai.

Thay đổi về API

  • Ngừng sử dụng MapTemplate, RoutePreviewNavigationTemplate, PlaceListNavigationTemplate cũ và khuyến khích sử dụng MapWithContentTemplate mới (Ib0a08)

Phiên bản 1.7.0-alpha01

Ngày 3 tháng 4 năm 2024

Phát hành androidx.car.app:app-*:1.7.0-alpha01. Chúng tôi đã chuyển lược đồ phiên bản thư viện để khớp với phiên bản CarApi đang hoạt động. Việc này nhằm giảm sự nhầm lẫn về lược đồ đặt tên dựa trên ý kiến phản hồi của nhà phát triển. Do đó, chúng tôi sẽ bỏ qua phiên bản 1.5 / 1.6 và chuyển thẳng sang phiên bản 1.7. Phiên bản 1.7.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Bản đồ có nội dung: Mẫu mới có tên MapWithContent hỗ trợ Danh sách / Lưới / Ngăn / Thông báo dưới dạng Nội dung bên trong bản đồ.
    • RoutePreview, PlaceListNavigation, Mẫu bản đồ hiện không còn được dùng nữa.
    • Các ứng dụng mẫu đã được cập nhật để hiển thị chức năng của các mẫu không dùng nữa bằng MapWithContent.
  • Mục trò chuyện: Các API mới để hiển thị cuộc trò chuyện (IM, SMS) và bản đọc của Trợ lý trong ô tô.
  • Kích thước xe: API mới để truy xuất thông số đo lường xe (dữ liệu hiện có trên AAOS).

Thay đổi về API

  • Đánh dấu loại hình ảnh hàng cực nhỏ là thử nghiệm (I5184b)
  • Thêm API CarInfo#fetchExteriorDimensions cho phép truy cập vào thông tin kích thước bên ngoài của xe, chẳng hạn như chiều cao, chiều rộng, v.v. (Ia40c5)
  • Xoá thẻ ExperimentalAPI khỏi MapWithContentTemplate (I66db8)
  • Cập nhật tham số GridItem#setTitle để có thể nhận giá trị rỗng. (I3d610)
  • API GetHeader không yêu cầu API 7 vì API này tương thích ngược (I8c812)
  • Thêm tính năng hỗ trợ cho Header trong ListTemplate, ngừng sử dụng headerAction, headerTitle, actionStrip (I7ae01)
  • Ngừng sử dụng title, headerAction, actionStrip trong GridTemplate và thêm tính năng hỗ trợ cho Header (I41a9c)
  • Xoá yêu cầu cấp 7 đối với các API thử nghiệm: Huy hiệu, phương thức getter/setter kích thước mục GridTemplate và hình dạng hình ảnh, phương thức GridItem để lấy/đặt Huy hiệu. (Id71eb)
  • Ngừng sử dụng title, headerAction, actionStrip trong PaneTemplate, thêm tính năng hỗ trợ Header mới (I23154)
  • Thay đổi thông tin đo từ xa của Trung tâm đa phương tiện từ BroadcastReceiver thành Thao tác tuỳ chỉnh duyệt qua. (I4185f)
  • Thêm tính năng hỗ trợ thuộc tính Header trong MessageTemplate. Ngừng hỗ trợ ActionStrip, headerActiontitle. (Ie2de8)
  • Sửa đổi chế độ hiển thị hằng số cảnh báo (Icf8a8)
  • Xoá thuộc tính isLoading khỏi mẫu mẹ (I651e6)
  • Thêm các thành phần bổ sung để thông báo cho ứng dụng đa phương tiện về các tham số giao diện người dùng chính (I85ca2)
  • Thêm tính năng phân tích trung tâm nội dung đa phương tiện vào MediaExtensions (I7ce28)
  • Thêm tuỳ chọn cho hình ảnh cực nhỏ trên các hàng. (I72c03)

Sửa lỗi

  • Cập nhật javadoc trên ConversationItem để cho biết rằng các thư phải được sắp xếp theo thứ tự từ cũ nhất đến mới nhất. (I77a2a)
  • Cập nhật logic cắt bớt ListTemplate để xoá các thông báo cũ nhất khỏi ConversationItem (Ie0a61)

Phiên bản 1.4

Phiên bản 1.4.0

Ngày 29 tháng 5 năm 2024

Phát hành androidx.car.app:app-*:1.4.0. Phiên bản 1.4.0 là bản phát hành chính thức của 1.4.0-rc02.

Thay đổi quan trọng kể từ phiên bản 1.3.0

  • Hiển thị bản đồ trên cụm đồng hồ cho ứng dụng Chỉ đường
  • Mẫu thẻ mới để cải thiện bố cục / khả năng hữu dụng của ứng dụng
  • Hỗ trợ giới hạn tác vụ thích ứng
  • Thao tác phụ trên các phần tử danh sách

Phiên bản 1.4.0-rc02

Ngày 13 tháng 12 năm 2023

Phát hành androidx.car.app:app-*:1.4.0-rc02. Phiên bản 1.4.0-rc02 bao gồm các thay đổi sau. Chỉ sửa lỗi nhỏ

Sửa lỗi

  • Cập nhật javadoc trên ConversationItem để cho biết rằng các thông báo phải được sắp xếp theo thứ tự từ cũ nhất đến mới nhất (I77a2a)
  • Cập nhật logic cắt bớt ListTemplate để xoá các thông báo cũ nhất khỏi ConversationItem (Ie0a61)

Phiên bản 1.4.0-rc01

Ngày 1 tháng 11 năm 2023

Phát hành androidx.car.app:app-*:1.4.0-rc01 mà không có thay đổi đáng kể nào. Phiên bản 1.4.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.4.0-beta02

Ngày 20 tháng 9 năm 2023

Phát hành androidx.car.app:app-*:1.4.0-beta02. Phiên bản 1.4.0-beta02 bao gồm các thay đổi sau. Bản phát hành này gần giống với beta01, nhưng giảm yêu cầu compileSdk xuống còn 33.

Sửa lỗi

  • Khắc phục lỗi màn hình tải trên Thẻ không hiển thị đúng cách. (cae860)

Phiên bản 1.4.0-beta01

Ngày 9 tháng 8 năm 2023

Phát hành androidx.car.app:app-*:1.4.0-beta01. Phiên bản 1.4.0-beta01 bao gồm các thay đổi sau.

Lưu ý: Phiên bản 1.4-beta01 yêu cầu compileSdk34 vẫn đang ở trạng thái phát triển. Phiên bản 1.4-beta02 sẽ khắc phục vấn đề này. Ngoài ra, bạn có thể thêm android.suppressUnsupportedCompileSdk=34 vào tệp settings.gradle của dự án để tạm thời ngăn chặn cảnh báo một cách an toàn.

Tính năng mới

Thay đổi về API

  • Xem alpha02

Phiên bản 1.4.0-alpha02

Ngày 26 tháng 7 năm 2023

Phát hành androidx.car.app:app-*:1.4.0-alpha02. Phiên bản 1.4.0-alpha02 bao gồm các thay đổi sau.

  • Bản phát hành Alpha02 nhằm chuẩn bị cho bản phát hành beta01 sắp tới.

Tính năng mới

  • Hỗ trợ hiển thị bản đồ trên Nhóm đồng hồ cho các ứng dụng chỉ đường
  • Thêm Thẻ cho ứng dụng để cải thiện trải nghiệm bố cục
  • Thêm các tuỳ chọn kết xuất mẫu Danh sách / Lưới
  • Thêm danh mục mới cho Thời tiết và Thông tin liên lạc
  • Di chuyển một số API sang bản phát hành CarApi 7 tiếp theo

Thay đổi về API

  • Thêm các trường đa phương tiện vào CarMessage (I5aaf6)
  • Thêm các thao tác tuỳ chỉnh vào ConversationItem trong Thư viện ứng dụng cho ô tô (Ie5ed6)
  • Thêm các thành phần bổ sung để cho biết một mục nội dung nghe nhìn được phát ở định dạng âm thanh sống động và hiển thị biểu trưng định dạng nội dung của mục đó (Icb5bb)
  • Thêm loại Hành động mới, API ActionsConstraints để hỗ trợ nút soạn thư. (I31661)
  • Đặt set/getTemplate thành set/get ContentTemplate (Ica036)
  • Tham số mẫu hiện sẽ là @NonNull. Cập nhật tài liệu về API MapWithContentTemplate (I0f8ed)
  • Xoá thẻ @ExperimentalCarApi cho Hành động trong ListTemplate để khởi chạy trong CAL 1.4 (I2cfcb)
  • Xoá thẻ @ExperimentalCarApi cho TabTemplate (Ifcb82)
  • Xoá chú thích @ExperimentalCarApi khỏi các hành động phụ và phần trang trí của Hàng (I8487e)
  • Thêm mã nội dung thẻ đang hoạt động vào TabTemplate và ngừng sử dụng trạng thái đang hoạt động trên Thẻ (I96932)
  • Thêm thuộc tính ItemImageShape vào GridTemplate (Ibf431)
  • Thêm thuộc tính ItemSize vào GridTemplate. Thuộc tính này sẽ kiểm soát kích thước mục lưới theo các nhóm nhỏ, vừa, lớn tương đối. (Icdb3b)
  • Cấp quyền truy cập API để nhà phát triển có được bản sao của ngăn xếp màn hình hiện tại. (I48107)
  • Thêm danh mục cho ứng dụng thời tiết vào Thư viện ứng dụng cho ô tô (I2be44)
  • Thêm danh mục cho các ứng dụng gọi vào Thư viện ứng dụng cho ô tô (Icab33)
  • Thay thế GridItem.Builder#setBadge() bằng các phương thức setImage() bị nạp chồng (Id2000)
  • Thêm thuộc tính biểu tượng vào Huy hiệu (I629b2)
  • Thêm phương thức để đặt màu nền huy hiệu dấu chấm (I6411c)
  • Thêm thuộc tính Huy hiệu vào GridItem, cho phép hiển thị huy hiệu trên hình ảnh GridItem. (I95de7)
  • Thêm một đối tượng Huy hiệu thử nghiệm sẽ đại diện cho một huy hiệu hiển thị trên hình ảnh. (I9878d)

Phiên bản 1.4.0-alpha01

Ngày 22 tháng 2 năm 2023

Phát hành androidx.car.app:app-*:1.4.0-alpha01. Phiên bản 1.4.0-alpha01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thêm các hành động cấp cao nhất vào GridTemplate trong Car App Library (Id0191)
  • Thêm các hành động cấp cao nhất vào ListTemplate trong Car App Library (I9efab)
  • Thêm ứng dụng khác để liên kết tiêu đề phụ của mục nội dung nghe nhìn hoặc phần mô tả của mục đó với các mục nội dung nghe nhìn khác (Ic84bf)
  • Cập nhật cấp độ API cho hành động trong hàng thành cấp 6. (Ie0a69)
  • Thêm lệnh gọi lại nhắn tin vào A4C (Ie3986)

Sửa lỗi

  • Thêm tài liệu tham khảo về tài liệu Java bị thiếu cho CarMessage. (I5db1c)
  • Ghi đè equals()hashCode() cho ConversationItemCarMessage (I6fd10)
  • Cải thiện khả năng xác thực ConversationItem.mMessages (yêu cầu không có giá trị null, không trống (Iafc51))
  • Thêm chú giải @Keep vào các trường ConversationItem (I5d250)
  • Cập nhật tài liệu Java cho việc trang trí Hàng và các hành động phụ. (I000b6)

Phiên bản 1.3

Phiên bản 1.3.0-rc01

Ngày 7 tháng 12 năm 2022

Phát hành androidx.car.app:app-*:1.3.0-rc01. Phiên bản 1.3.0-rc01 bao gồm các thay đổi sau.

  • Các bản sửa lỗi nhỏ trong phiên bản beta01. Không có thay đổi lớn.

Phiên bản 1.3.0-beta01

Ngày 7 tháng 9 năm 2022

Phát hành 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-beta01androidx.car.app:app-testing:1.3.0-beta01. Phiên bản 1.3.0-beta01 bao gồm các thay đổi sau.

Tính năng mới

Ngoài các tính năng được thêm vào Thư viện Car App (Ứng dụng dành cho ô tô) phiên bản 1.3.0-alpha01, các tính năng sau đã được thêm vào như một phần của phiên bản beta01 (Tất cả các tính năng ở đây chỉ liên quan đến những thay đổi phía máy chủ mà không có bất kỳ thay đổi nào về API):

  • Thanh điều hướng nổi sẽ tiếp tục hiển thị ngay cả khi người dùng đang ở màn hình lựa chọn dựa trên bản đồ trong PlaceListNavigationTemplate, RoutePreviewNavigationTemplateMapTemplate. Bạn có thể thực hiện việc này bằng cách cập nhật thông tin điều hướng thông qua NavigationManager.updateTrip().
  • Kích hoạt nút hành động bằng FLAG_DEFAULT để có ảnh động theo thời gian chờ. Theo mặc định, nút này sẽ được nhấp sau khi hết thời gian chờ. ([API 5 - All Templates])
  • Văn bản phụ của Row không bị cắt bớt khi người dùng đã đỗ xe, nhưng sẽ bị cắt bớt thành 2 dòng trong lúc lái xe. ([API 5 - All Templates])
  • Hỗ trợ cho trạng thái tắt của Action, Toggle, Row ([API 5 - All Templates])

Các thay đổi về API

  • Nới lỏng các điều kiện ràng buộc trong danh sách MapTemplate để hỗ trợ danh sách có thể chọn (I961ed)
  • Xoá điều kiện ràng buộc cho các Hành động đối với tiêu đề để cho phép các biểu tượng tuỳ chỉnh. (Iad28f)
  • Thêm một điều kiện ràng buộc setOnClickListenerAllowed() vào ActionsConstraints. Trong trường hợp này, Action được phép đặt OnClickDelegate() thành các hành động ngoại trừ các loại biểu tượng chuẩn. (TYPE_APP_ICON, TYPE_BACKTYPE_PAN) (I3c745)

Sửa lỗi

Phiên bản 1.3.0-alpha01

Ngày 27 tháng 7 năm 2022

Phát hành 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-alpha01androidx.car.app:app-testing:1.3.0-alpha01. Phiên bản 1.3.0-alpha01 bao gồm các thay đổi sau.

Các tính năng được chú thích bằng API cấp 5 sẽ tương thích với Android Auto 7.9 trở lên.

Tính năng mới

  • API cấp 5: MapTemplate mới có thể được ứng dụng điều hướng sử dụng để hiển thị ngăn hoặc liệt kê nội dung cùng với bản đồ (If5826, If44b8)
  • API cấp 5: API CarAudioRecord mới để cho phép ghi âm đầu vào qua micrô của xe máy chủ (I5e71a)
  • API cấp 5: API SuggestionManager mới để cho phép ứng dụng cung cấp đề xuất cho máy chủ (I5c103)
  • API cấp 5: API Alert mới để hiển thị trong thông báo theo ngữ cảnh trên NavigationTemplate (I163a7, I5ad70)
  • API cấp 5: các thành phần HeaderMapController mới để hỗ trợ sử dụng lại trên các mẫu (If5826)
  • Thêm androidx.car.app.category.POI làm danh mục để bật các ứng dụng POI (Địa điểm yêu thích) (và ngừng sử dụng androidx.car.app.category.PARKING cũng như androidx.car.app.category.CHARGING) (I59da1)

Các thay đổi về API

  • API cấp 5: phương thức onClick mới trong giao diện SurfaceCallback để cho phép nhấn vào khả năng tương tác trên bản đồ (Ia9777)
  • API cấp 5: cờ Action.FLAG_IS_PERSISTENT mới và Action.FLAG_DEFAULT để mô tả Action (I96318, I5ad70)
  • API cấp 5: trạng thái bật/tắt mới cho các thành phần Action, RowToggle (hỗ trợ máy chủ sắp có trong bản phát hành 1.3.0-beta01 của thư viện) (Id8a09)
  • API cấp 5: Ưu tiên thành phần Header mới qua setHeader trên PlaceListNavigationTemplate.BuilderRoutePreviewNavigationTemplate.Builder, không dùng đến các phương thức setTitlesetHeaderAction hiện có (I30e6a )
  • API cấp 5: phương thức setOnContentRefreshListner mới trên PlaceListMapTemplate.BuilderPlaceListNavigationTemplate.Builder để sử dụng với việc triển khai giao diện OnContentRefreshListner mới.
  • API cấp 5: setTripTextsetTripIcon mới trên TravelEstimate.Builder để tuỳ chỉnh thẻ ước tính hành trình (Idcc6d, Ic620d)
  • Thêm hỗ trợ cho các CarIconSpan trong tiêu đề của PaneTemplate (Ia1ee0)
  • Thêm hình thức hỗ trợ cho các CarIconSpan trong tiêu đề và văn bản của Row (Ic1e3c)
  • Bản đồ ActionStrip hiện có thể có tối đa bốn hành động (If3522)
  • Cập nhật API ứng dụng xe hơi lên cấp 5 (I26b8e)
  • Hiện tại, bạn không bắt buộc phải sử dụng các tiêu đề/đầu dòng cho PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplateSignInTemplate (I2078d, Icadde)

Sửa lỗi

  • Cập nhật các quy tắc định kích thước hình ảnh PaneTemplate thành hộp giới hạn hình vuông (Idd72e)
  • Khắc phục ngoại lệ xảy ra nếu ngăn xếp màn hình được sửa đổi sau khi State.DESTROYED. (I3c8eb)
  • Thêm tính năng kiểm tra giá trị rỗng để truy xuất biểu tượng ứng dụng (I3f710)
  • Cập nhật API phần cứng ô tô để sử dụng STATUS_UNKNOWN thay vì STATUS_UNAVAILABLE theo mặc định (Ic9444)
  • Kiểm tra xem màn hình có tồn tại hay không trước khi tạo nền tảng (Ice027a)
  • Sửa lỗi CarValue.equals() liên quan đến STATUS_UNIMPLEMENTED (I24451)

Phiên bản 1.2

Phiên bản 1.2.0

Ngày 9 tháng 11 năm 2022

Phát hành androidx.car.app:app-*:1.2.0. Phiên bản 1.2.0 bao gồm các thay đổi sau.

  • Đây là bản phát hành ổn định và không có thay đổi nào so với phiên bản 1.2.0-rc01.

Phiên bản 1.2.0-rc01

Ngày 23 tháng 3 năm 2022

Phát hành androidx.car.app:app-*:1.2.0-rc01. Phiên bản 1.2.0-rc01 bao gồm các thay đổi sau.

  • Đây là bản phát hành ổn định và không có thay đổi nào về API so với v1.2.0-beta02. Các tính năng thử nghiệm mới (API cấp 5) đã được bổ sung dành cho các bản phát hành Android Auto và Android Automotive trong tương lai.

Sửa lỗi

  • Khắc phục ngoại lệ xảy ra nếu ngăn xếp màn hình được sửa đổi sau khi State.DESTROYED. (I3c8eb)
  • Cập nhật API CarSensors để cho biết họ chưa triển khai API AAOS (Idd57b)
  • Cập nhật PlaceListMapTempalte.Builder#setCurrentLocationEnabled để cho biết ACCESS_COARSE_LOCATION sẽ đủ dùng cho tính năng này (I510c2)
  • Đặt số lần thoát tuỳ chọn cho các loại thao tác vòng tròn có góc (Ife7d1)

Phiên bản 1.2.0-beta02

Ngày 26 tháng 1 năm 2022

Phát hành androidx.car.app:app-*:1.2.0-beta02. Phiên bản 1.2.0-beta02 bao gồm các thay đổi sau.

Car App (Ứng dụng dành cho ô tô) được xây dựng bằng phiên bản thư viện này nhắm tới mục tiêu nền tảng Android Automotive OS hiện có thể được phát hành lên kênh kiểm thử công khai trên Cửa hàng Play. Tham khảo hướng dẫn phát triển để biết thêm thông tin chi tiết.

Các tính năng được chú thích bằng API cấp 4 trở xuống sẽ tương thích với cả Android Auto 7.2 trở lên và nền tảng Android Automotive OS mới. Xem mục Known Issues dưới đây để biết các cảnh báo.

Các thay đổi về API

  • Thêm API setOnContentRefreshListener thử nghiệm vào mẫu POI (I6bf22)

Sửa lỗi

  • Khắc phục sự cố rò rỉ bộ nhớ trong CarAppService khi máy chủ ô tô huỷ liên kết. (I5c9ca, b/203594731)
  • Cập nhật CarAppActivity javadoc để bao gồm cả các yêu cầu về chế độ khởi chạy singleTask (Id2f95)
  • Giảm bớt sự cố hình ảnh khi tiếp tục phát. (Iff7e0)

Vấn đề đã biết

  • Bản đồ ActionStrip trong PlaceListNavigationTemplateRoutePreviewNavigateTemplate sẽ bắt đầu có sẵn trong bản phát hành Android AutoAndroid Automotive OS tiếp theo.

Phiên bản 1.2.0-alpha02

Ngày 15 tháng 12 năm 2021

Phát hành androidx.car.app:app-*:1.2.0-alpha02. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.

Các tính năng được chú thích bằng API cấp 4 đã được nâng cấp từ thử nghiệm tới ổn định, bao gồm bản đồ ActionStrip trong PlaceListNavigationTemplateRoutePreviewNavigateTemplate, hình ảnh CarIcon trong Pane, QRCodeSignInMethod và khả năng đặt gợi ý hiển thị (ví dụ: cờ) trong Action.

Tính năng mới

  • Trong Android Auto 7.1 trở lên, hạn mức mục của Pane đã tăng từ 2 lên 4.

Các thay đổi về API

  • Thêm phương thức toString() thử nghiệm vào CarUnit(I36a3b)

Sửa lỗi

  • Khắc phục sự cố thoát ứng dụng đột ngột xảy ra trong CarAppPermissionActivity nếu lệnh gọi lại bị ngừng hoạt động (If9823)
  • Thay đổi hạn mức danh sách mặc định của Pane thành 4 (I0068b)

Phiên bản 1.2.0-alpha01

Ngày 3 tháng 11 năm 2021

Phát hành androidx.car.app:app-*:1.2.0-alpha01. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.

Mọi tính năng mới của v1.2.0 (API 4 trở lên) hiện đang thử nghiệm nhắm đến các bản phát Android Auto và Android Automotive OS trong tương lai. Tham khảo hướng dẫn phát triển để biết thêm thông tin chi tiết.

Các thay đổi về API

  • Thực hiện thử nghiệm API AutomotiveCarInfo. (Ia13e5)
  • Thêm API Thư viện Car App (Ứng dụng dành cho ô tô) cấp 4 (I2a2e7)
  • API cấp 4: Thêm hỗ trợ cho việc đặt CarIcon trong Pane (Ifcc12)
  • API cấp 4: Thêm phương thức đăng nhập bằng mã QR (Ib623e)
  • API cấp 4: Thêm set/getFlags vào Action (Ic03ab)
  • API cấp 4: Thêm hỗ trợ cho việc di chuyển và thu phóng trong PlaceListNavigationTemplateRoutePreviewNavigationTemplate (I9d8a3)

Sửa lỗi

  • API cấp 4: Thêm cơ chế để cho phép ứng dụng gửi thông tin cập nhật vị trí cho máy chủ ô tô (I3bad3)
  • Khắc phục vấn đề về logic xác thực máy chủ lưu trữ không tìm thấy quyền TEMPLATE_RECORDER đúng cách (I62618)

Phiên bản 1.1.0

Phiên bản 1.1.0

Ngày 15 tháng 12 năm 2021

Phát hành androidx.car.app:app-*:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

Đây là bản phát hành ổn định và không có thay đổi nào so với v1.1.0-rc01. Đồng thời hãy xem ghi chú phát hành cho v1.2.0-alpha02 để biết thêm chi tiết về các tính năng mới dành cho thư viện Car App.

Thay đổi quan trọng kể từ phiên bản 1.0.0

  • API cấp 2: SignInTemplateLongMessageTemplate có thể được dùng cho các quy trình đăng nhập khi bạn đỗ xe
  • API cấp 2: hỗ trợ tương tác bản đồ trong NavigationTemplate
  • API cấp 2: hỗ trợ văn bản nhiều loại độ dài để cho phép ứng dụng cung cấp nhiều phiên bản chuỗi nhằm hiển thị tuỳ thuộc vào kích thước màn hình ô tô.
  • API cấp 3: CarHardwareManager có thể dùng để truy vấn dữ liệu về phần cứng của xe, chẳng hạn như mẫu xe và hãng sản xuất, mức nhiên liệu và các cảm biến khác.

Phiên bản 1.1.0-rc01

Ngày 3 tháng 11 năm 2021

Phát hành androidx.car.app:app-*:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Đây là bản phát hành ổn định và không có thay đổi nào về API so với v1.1.0-beta01. Các tính năng thử nghiệm mới (API cấp 4) dành cho các bản phát hành Android Auto trong tương lai đã được thêm vào. Xem ghi chú phát hành cho v1.2.0-alpha01 để biết thêm thông tin chi tiết về các API thử nghiệm.

Phiên bản 1.1.0-beta01

Ngày 1 tháng 9 năm 2021

Phát hành androidx.car.app:app-*:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Tất cả các tính năng của v1.1.0 (API 2 trở lên) đều tương thích hoàn toàn với Android Auto 6.7 trở lên. Tham khảo hướng dẫn phát triển để biết thêm thông tin chi tiết.

Các thay đổi về API

  • Xoá Manager khỏi giao diện công khai (Ie381b)
  • Thêm khả năng đặt nền thương hiệu tuỳ chỉnh cho yêu cầu cấp quyền (I74b76)
  • Thêm ScreenManager.getStackSize (I0b16a)
  • Xoá hàm khởi tạo ScreenController có ghi rõ là TestCarContext (Iefebc)

Sửa lỗi

  • Thêm bước kiểm tra cấp API khi tạo CarHardwareManager (I48f9b)
  • Thêm các lượt kiểm tra đối với trường hợp sử dụng CarSpan không hợp lệ trên API (I65ae6)
  • Sửa lỗi nếu một Screen được đánh dấu là đã hoàn thành trong quá trình tạo, thì sự kiện đó sẽ rời khỏi ngăn xếp ở trạng thái bị hỏng (I81b13)
  • Khắc phục sự cố trong đó CarNotificationManager.notify sẽ ghi lại lỗi cho AutomotiveOS nếu có các hành động với biểu tượng trong CarAppExtender (I3633d)
  • Thêm phương thức bắt tay cho ứng dụng và máy chủ xe để thiết lập phiên bản API (I7d6f8)

Phiên bản 1.1.0-alpha02

Ngày 21 tháng 7 năm 2021

Phát hành androidx.car.app:app-*:1.1.0-alpha02. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • API cấp 3: Thêm loại CarHardwareManager có thể dùng để truy vấn dữ liệu phần cứng của xe, chẳng hạn như mẫu xe và hãng sản xuất, mức nhiên liệu và các cảm biến khác. Hiện tại, tính năng này chỉ có trên Android Auto 6.7 trở lên trong kênh thử nghiệm công khai. Việc thử nghiệm tính năng này trong môi trường máy tính sẽ yêu cầu phiên bản mới của Desktop Head Unit. Phiên bản này sẽ được phát hành riêng biệt. Hãy theo dõi trang Kiểm thử ứng dụng Android dành cho ô tô để biết thông tin chi tiết về thời điểm có phiên bản mới.
  • Làm theo hướng dẫn phát triển và tham khảo thư viện để biết thêm thông tin chi tiết cũng như nguyên tắc thiết kế về cách sử dụng các tính năng này trong máy chủ ô tô tương thích với API cấp 3.

Các thay đổi về API

  • Các phương thức vòng đời của SessionControllerScreenController đã hợp nhất thành một phương thức moveToState (I1ed00)
  • Thêm CarContext#getHostInfo() (I8977e)
  • Xoá các trường không còn dùng nữa. (I67168)
  • Cập nhật SessionControllerScreenController để hiển thị trực tiếp hàm khởi tạo (Iabf22)
  • Xoá PinSignInMethod.BuilderProviderSignInMethod.Builder (I9f0cb)
  • Thêm "setCarAppResult()" để cho phép sử dụng các ứng dụng theo mẫu "cho kết quả" trong AAOS (I37741)
  • Chú thích giao diện CarHardware bằng @MainThread. (Ib2f85)
  • Đổi tên OnCarDataListener thành OnCarDataAvailableListener (I518ca)
  • Cập nhật tên phương thức CarInfo, Speed, Mileage và javadoc. (I86672)
  • Đổi tên Toll thành TollCard. (I3e7c8)
  • Xoá PinSignInMethod.getPin không còn dùng nữa mà được thay thế bằng PinSignInMethod.getPinCode (I996ce)
  • Xoá OnInputCompletedListener (được thay thế bằng InputCallback). (Ib5be1)
  • Thay đổi PinSignInMethod thành CharSequence thay vì String (I275d5)

Sửa lỗi

  • Bản sửa lỗi Javadoc cho phần cứng của ô tô. (I2abbc)

Đóng góp bên ngoài

Vấn đề đã biết

  • Trong SignInTemplate, việc sử dụng InputSignInMethod có thể dẫn đến một NullPointerException trong máy chủ ô tô. Điều này sẽ được giải quyết trong bản phát hành tiếp theo của thư viện. Để giải quyết vấn đề này, hãy chèn dòng này vào cấu hình Proguard của ứng dụng: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

Phiên bản 1.1.0-alpha01

16 tháng 6 năm 2021

Phát hành 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. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • API cấp 2: SignInTemplateLongMessageTemplate mới có thể được sử dụng cho quy trình đăng nhập khi xe đang đỗ.
  • API cấp 2: hỗ trợ mới cho tương tác bản đồ trong NavigationTemplate
  • API cấp 2: hỗ trợ mới cho văn bản có nhiều loại độ dài để cho phép ứng dụng cung cấp nhiều phiên bản chuỗi nhằm hiển thị tuỳ thuộc vào kích thước màn hình ô tô.
  • Làm theo hướng dẫn phát triển và thư viện Javadoc để biết thêm thông tin chi tiết cũng như nguyên tắc thiết kế về cách sử dụng các tính năng này trong những máy chủ ô tô tương thích với API cấp 2.

Các thay đổi về API

  • Đặt mọi phương thức giao diện *Callback về mặc định và đổi tên OnRequestPermissionsCallback thành OnRequestPermissionsListener (Ib3ec9)
  • Cập nhật các lớp androidx.car.app.hardware để xoá các trình tạo và lớp tham số không cần thiết. (I67beb)
  • Thêm các lớp androidx.car.app.hardware để truy cập vào dữ liệu cụ thể về ô tô như nhiên liệu, pin và tốc độ. (Iff3c9)
  • Thêm hỗ trợ ActionStrip trên MessageTemplate (Ida657)
  • Thêm setLoading vào MessageTemplate (I2a4b5)
  • Đã đổi tên ConnectionToCar thành CarConnection (Ife9bd)
  • Thay đổi NavigationTemplate để trả lại một PanModeDelegate rõ ràng (I13877)
  • Cập nhật thứ tự tham số cho CarContext.requestPermissions (Ib890a)
  • Cập nhật khoá siêu dữ liệu để xác định cấp độ API tối thiểu cho xe ô tô thành androidx.car.api.minCarApiLevel (Ib0d41)
  • Tạo một API cho phép quan sát trạng thái kết nối với ô tô (Ifc935)
  • Thêm hỗ trợ cài đặt nút bật/tắt cho Action và thêm loại chế độ kéo cho Action (Ica6af)
  • Tạo CarNotificationManager để hỗ trợ gửi thông báo trong ô tô (I10d7a)
  • Thêm ConstraintManager để cung cấp hạn mức danh sách trong máy chủ (I8690e)
  • Thêm chế độ kéo và API dải hành động trên bản đồ trong NavigationTemplate (I77aa6)
  • Thêm API kéo và thu phóng trong SurfaceCallback cho các ứng dụng điều hướng (Id5e9d)
  • Cập nhật CarAppApiLevel thành 2 (Ic1540)
  • Thêm chức năng yêu cầu quyền từ CarAppService (I5421e)
  • Thêm chú thích RequiresCarApi(2) vào API nhiều văn bản (Iacb62)
  • Được phép sử dụng nhiều biến thể văn bản trong nửa danh sách tiêu đề mẫu (Ib8df7)
  • Thêm LongMessageTemplate mới (cần có API Xe cấp 2) (Ic5cee)

Sửa lỗi

  • Cập nhật yêu cầu về kích thước hình ảnh để phù hợp với màn hình ô tô lớn hơn (I116dc)
  • Không cho phép thêm nhiều hơn 2 hành động trong phần nội dung mẫu (I32157)
  • Đảm bảo mọi quá trình tạo PendingIntent trong thư viện Car App (Ứng dụng dành cho ô tô) đều được gắn cờ. (If84fe, b/186394900)
  • Cập nhật javadoc để cho phép Row những thay đổi văn bản dưới dạng làm mới (If3f9c )
  • androidx.activity:activity:1.2.0 hiện là phần phụ thuộc api (Id1cb9)
  • Tạo SignInTemplateLongMessageTemplate để yêu cầu các hành động chỉ đỗ xe trong phần nội dung và cập nhật tài liệu để cho biết các hành động này sẽ chỉ hiển thị khi ô tô được đỗ (Iddaa9)
  • Khắc phục một trường hợp ngoại lệ xảy ra khi bật cửa sổ Screen lên khi bắt đầu (Ifcf40, b/184664896)
  • Cho phép màu văn bản tuỳ chỉnh trong ForegroundCarColorSpan (I69e59)
  • Khắc phục vấn đề về sự cố xảy ra với ON_DESTROY trên Session sau ON_DESTROY của Screen(I52e01, b/183696617 ).
  • Cập nhật javadoc khi việc cài đặt thời gian còn lại của TravelEstimate thành thời gian không xác định được cho phép. (I99610, b/183632456)
  • Cập nhật Action để hỗ trợ ForegroundColorSpan trong tiêu đề và mọi màu nền tuỳ chỉnh (I578e4)
  • Không thực thi NavigationManagerCallback#onStopNavigation nếu lệnh gọi lại bị xoá trước khi hàm thực thi chạy (I7fc5e, b/181143772)
  • Khắc phục sự cố yêu cầu ứng dụng phải rõ ràng phụ thuộc vào lifecycle-common-java8 (I8b8c8)

Vấn đề đã biết

  • Trong SignInTemplate, bàn phím ảo sẽ cho thấy biểu tượng “tìm kiếm” thay vì biểu tượng “nhập” khi người dùng muốn xác nhận mục nhập. Để khắc phục vấn đề này, người dùng có thể truy cập vào bàn phím điện thoại được kích hoạt khi trường nhập dữ liệu nằm trong tiêu điểm.
  • Trong Android Auto phiên bản 6.5, tính năng gọi lại và thu phóng trong SurfaceCallback có thể được gọi không chính xác cho một số cử chỉ chạm.

Car App (Ứng dụng dành cho ô tô) phiên bản kiểm thử 1.0.0

Phiên bản 1.0.0-alpha01

Ngày 24 tháng 3 năm 2021

Phát hành androidx.car.app:app-testing:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Đây là bản phát hành Jetpack đầu tiên của thư viện thử nghiệm nguồn đã đóng trước đó. Tham khảo mẫu của chúng tôi về cách sử dụng thư viện này trong các thử nghiệm của bạn.

Tính năng mới

  • Bộ điều khiển cho các lớp mô hình đã bị xoá. Phương thức getter mẫu hiện là một phần của giao diện API công khai cho phép xác thực các giá trị đã được đặt trong trình tạo.
  • CarAppServiceController trước đó đã được thay thế bằng SessionController mới để kiểm thử logic liên quan đến vòng đời kết nối với các điểm nóng.

Phiên bản 1.0.0

Phiên bản 1.0.0

Ngày 21 tháng 4 năm 2021

Phát hành androidx.car.app:app:1.0.0. Phiên bản 1.0.0 bao gồm các thay đổi sau.

Các tính năng chính của phiên bản 1.0.0

  • Đầu tháng 4, chúng tôi đã thông báo rằng ứng dụng có thể bắt đầu phát hành lên kênh phát hành công khai bằng androidx.car.app:app:1.0.0-rc01. Thư viện Car App (Ứng dụng dành cho ô tô) phiên bản 1.0.0 hiện đã ổn định và tương thích hoàn toàn với Android Auto 6.1 trở lên.
  • Làm theo hướng dẫn phát triển để biết thông tin chi tiết về cách xây dựng ứng dụng chỉ đường, đỗ xe và sạc pin cho Android Auto bằng thư viện.

Sửa lỗi

  • Khắc phục trường hợp ngoại lệ xảy ra khi hiển thị Screen trong quá trình bắt đầu (70aae1, b/184664896)
  • Khắc phục sự cố trong đó ON_DESTROY trên một Session xuất hiện sau ON_DESTROY của Screen (0ceecb, b/183696617).

Phiên bản 1.0.0-rc01

Ngày 24 tháng 3 năm 2021

Phát hành androidx.car.app:app:1.0.0-rc01. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục lỗi điều kiện tranh đấu trong đó NavigationManagerCallback#onStopNavigation được gọi sau khi lệnh gọi lại bị xoá. Điều này xảy ra nếu lệnh gọi lại bị xoá trước khi lệnh thực thi lệnh gọi lại chạy (I7fc5e, b/181143772)
  • Khắc phục sự cố yêu cầu ứng dụng phải phụ thuộc rõ ràng vào lifecycle-common-java8 (I8b8c8)
  • Khắc phục NullPointerException được thực hiện khi ứng dụng nhận cuộc gọi stopNavigation khi ứng dụng này xoá lệnh gọi lại (Ib8b89, b/181143772)
  • Những cải tiến đối với việc không gửi lệnh gọi đến ứng dụng nếu vòng đời của ứng dụng ít nhất không ở trạng thái CREATED (I86965, b/179800224, b/177921120)
  • Sửa lỗi tệp kê khai của một API tối thiểu không hợp lệ được chỉ định trong ứng dụng sẽ gửi, gây ra lỗi ANR trên máy chủ. (Nếu được cung cấp, b/174231592)

Phiên bản 1.0.0-beta01

Ngày 24 tháng 2 năm 2021

androidx.car.app:app:1.0.0-beta01 đã được phát hành. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.

Đây là bản phát hành Jetpack đầu tiên của thư viện nguồn đã đóng trước đó và tương thích với Android Auto 6.1 trở lên. Làm theo hướng dẫn phát triển để biết thông tin chi tiết về cách tạo ứng dụng dành cho ô tô bằng thư viện.

Tính năng mới

  • Đã giới thiệu GridTemplate mà ứng dụng của bạn có thể sử dụng để hiển thị danh sách các thành phần trên giao diện người dùng trong một bố cục lưới.
  • Đã giới thiệu phương thức CarAppService.createHostValidator để xác thực rằng kết nối máy chủ là từ một nguồn đáng tin cậy (ví dụ: Android Auto).
  • Thêm API CarAppExtender.Builder.setColor. (b/174231592)

Sửa lỗi

  • Sửa lỗi Screen sai tiếp tục khi các màn hình tuần tự bật lên. (b/177590791)