Car App
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 23 tháng 3 năm 2022 | 1.1.0 | 1.2.0-rc01 | - | - |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc vào Thư viện Car App, 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 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.1.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.1.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.1.0" // For testing testImplementation "androidx.car.app:app-testing:1.2.0-rc01" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.1.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.1.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.1.0") // For testing testImplementation("androidx.car.app:app-testing:1.2.0-rc01") }
Để biết thêm thông tin về phần phụ thuộc, hãy xem nội dung Thêm phần phụ thuộc xây dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp 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ạn báo một lỗi mới. Bạn có thể bình chọn một lỗi hiện có bằng cách nhấp vào dấu sao.
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.2
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 tùy 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 đượ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
nay có thể được phát hành lên kênh thử nghiệm 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.
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
trongPlaceListNavigationTemplate
vàRoutePreviewNavigateTemplate
sẽ bắt đầu có sẵn trong bản phát hànhAndroid Auto
vàAndroid 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 PlaceListNavigationTemplate
và RoutePreviewNavigateTemplate
, 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.
Thay đổi về API
- Thêm phương thức
toString()
thử nghiệm vàoCarUnit
(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.
Tất cả 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 hành hệ điều hành Android Auto và Android Automotive 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.
Thay đổi về API
- Thực hiện thử nghiệm API
AutomotiveCarInfo
. (Ia13e5) - Thêm API Thư viện Car App cấp 4 (I2a2e7)
- API cấp 4: Thêm hỗ trợ cho việc đặt
CarIcon
trongPane
(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
PlaceListNavigationTemplate
vàRoutePreviewNavigationTemplate
(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:
SignInTemplate
vàLongMessageTemplate
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 để 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.
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) - Khắc phục sự cố trong đó 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 trongCarAppExtender
(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.
Các 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ủaDesktop Head Unit
. Phiên bản này sẽ được phát hành riêng biệt. Hãy theo dõi trang Thử nghiệm ứ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. - Hãy 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 và hướng dẫn 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.
Thay đổi về API
- Các phương thức vòng đời của
SessionController
vàScreenController
đã hợp nhất thành một phương thứcmoveToState
(I1ed00) - Thêm
CarContext#getHostInfo()
(I8977e) - Xoá các trường không còn dùng nữa. (I67168)
- Cập nhật
SessionController
vàScreenController
để hiển thị trực tiếp hàm khởi tạo (Iabf22) - Xoá
PinSignInMethod.Builder
vàProviderSignInMethod.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ànhOnCarDataAvailableListener
(I518ca) - Cập nhật tên phương thức
CarInfo
,Speed
,Mileage
và javadoc. (I86672) - Đổi tên
Toll
thànhTollCard
. (I3e7c8) - Xoá
PinSignInMethod.getPin
không còn được sử dụng mà được thay thế bằngPinSignInMethod.getPinCode
(I996ce) - Xoá
OnInputCompletedListener
(được thay thế bằngInputCallback
). (Ib5be1) - Thay đổi
PinSignInMethod
thànhCharSequence
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ụngInputSignInMethod
có thể dẫn đến mộtNullPointerException
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-alpha01
và androidx.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:
SignInTemplate
vàLongMessageTemplate
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 để hiển thị tuỳ thuộc vào kích thước màn hình ô tô.
- Hãy 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 và 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ủ xe tương thích với API cấp 2.
Thay đổi về API
- Đặt tất cả phương thức giao diện
*Callback
về mặc định và đổi tênOnRequestPermissionsCallback
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ênMessageTemplate
(Ida657) - Thêm
setLoading
vàoMessageTemplate
(I2a4b5) - Đã đổi tên
ConnectionToCar
thànhCarConnection
(Ife9bd) - Thay đổi
NavigationTemplate
để trả lại mộtPanModeDelegate
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 choAction
(Ica6af) - Tạo
CarNotificationManager
để hỗ trợ gửi thông báo trong ô tô (I10d7a) - Thêm
ConstraintManager
để cung cấp giới hạn danh sách trong máy chủ ô tô (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 tất cả quá trình tạo
PendingIntent
trong thư viện Car App đề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
SignInTemplate
vàLongMessageTemplate
để 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 xe đượ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ênSession
sauON_DESTROY
củaScreen
(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- phổ biến-:#8 (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 phiên bản thử nghiệm 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.
Các 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ằngSessionController
mới để thử nghiệm 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 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. - Hãy 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ộtSession
xuất hiện sauON_DESTROY
củaScreen
(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 đua 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ọistopNavigation
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) - Khắc phục vấn đề về việc 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
Phát hành androidx.car.app:app:1.0.0-beta01
. 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. Hãy 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 xe ô tô bằng cách sử dụng thư viện.
Các 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
- Khắc phục sự cố trong đó
Screen
sai không được tiếp tục khi tuần tự bật lên các màn hình. (b/177590791)