Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Phụ lục C, phiên bản tương thích tối thiểu cho API Trình bổ trợ giao diện người dùng trên ô tô
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Các nhà sản xuất thiết bị gốc (OEM) dự kiến sẽ chuyển sang phiên bản mới nhất của car-ui-lib-plugin-apis
(1.2.0 trở lên) sớm nhất có thể. Tốt nhất là nhà sản xuất thiết bị gốc (OEM) không nên vận chuyển bất kỳ trình bổ trợ nào sử dụng phiên bản cũ.
Lý do cập nhật
Các API Java 8 trở lên được hỗ trợ cho các phiên bản Android trước đó thông qua tính năng hỗ trợ đơn giản hoá API Java 8 trở lên.
Các phương thức triển khai API bị thiếu được biên dịch thành ứng dụng và mã byte của APK được viết lại để tham chiếu các phương thức triển khai thay vì thư viện trên nền tảng.
Việc tải các thành phần giao diện người dùng do OEM triển khai từ trình bổ trợ Thư viện giao diện người dùng trên ô tô yêu cầu tham chiếu các phương thức do giao diện car-ui-lib-plugin-apis
xác định. Các tệp tham chiếu phương thức này được tạo từ ứng dụng đến trình bổ trợ Thư viện giao diện người dùng trên ô tô trong thời gian chạy với kỳ vọng rằng chữ ký phương thức giống hệt nhau trong quá trình triển khai ứng dụng và trình bổ trợ.
Một số hệ thống xây dựng luôn bật tính năng đơn giản hoá API do các yêu cầu về cấp độ SDK tối thiểu cụ thể. Chữ ký phương thức đã đơn giản hoá cho giao diện car-ui-lib-plugin-apis
có thể không khớp với chữ ký phương thức trong quá trình triển khai trình bổ trợ OEM chưa được đơn giản hoá, dẫn đến việc trình bổ trợ không tải được.
Do đó, một số ứng dụng GAS được biên dịch bằng hệ thống xây dựng nội bộ của Google không tương thích với trình bổ trợ Thư viện giao diện người dùng trên ô tô. Do đó, chúng tôi đã xoá tất cả các phần phụ thuộc trên các API Java 8 (trở lên) yêu cầu đơn giản hoá. Thay đổi này yêu cầu cập nhật API của các giao diện do car-ui-lib-plugin-apis
xác định.
Các bước bắt buộc đối với trình bổ trợ OEM
Hãy làm theo các bước sau để cập nhật API:
Cập nhật cách triển khai trình bổ trợ để sử dụng phiên bản mới nhất của car-ui-lib-plugin-apis
. Để tải phiên bản mới nhất (1.2.0 trở lên), hãy xem Kho lưu trữ Maven của Google.
Cập nhật cách triển khai trình bổ trợ để triển khai giao diện PluginFactoryOEMV4
. Thay đổi này yêu cầu các bước sau khi một thành phần được triển khai bằng trình bổ trợ OEM. Cập nhật cách triển khai của nhà sản xuất thiết bị gốc (OEM) đối với:
Thanh công cụ, để triển khai ToolbarControllerOEMV2
.
Mục danh sách nội dung để mở rộng ContentListItemOEMV2
.
Xử lý kết quả tìm kiếm IME để mở rộng ImeSearchInterfaceOEMV2
.
Cập nhật ứng dụng để sử dụng phiên bản mới nhất của Thư viện giao diện người dùng trên ô tô.
Điều gì sẽ xảy ra nếu bạn không áp dụng bản cập nhật này?
Nếu bạn chưa hoàn tất các bước được cung cấp trên trang này cho một trình bổ trợ OEM, thì các ứng dụng đã đơn giản hoá, chẳng hạn như Dịch vụ ô tô của Google (GAS), sẽ không tải được các hoạt động triển khai của trình bổ trợ Thư viện giao diện người dùng ô tô và không có tuỳ chỉnh nào của OEM được áp dụng thông qua cơ chế trình bổ trợ.
Các tuỳ chỉnh RRO hiện có cho Thư viện giao diện người dùng trên ô tô không chịu ảnh hưởng của vấn đề này và tiếp tục hoạt động như bình thường.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-06-12 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-06-12 UTC."],[],[],null,["# Appendix C, minimum compatible version for Car UI Plugin API\n\nOEMs are expected to switch to the newest version of `car-ui-lib-plugin-apis`\n(1.2.0 or higher) as soon as possible. Ideally, OEMs shouldn't ship any plugin\nthat uses an older version.\n\nWhy this update?\n----------------\n\n[Java 8+](https://developer.android.com/studio/write/java8-support-table) APIs\nare supported for previous versions of Android through [Java 8+ API desugaring\nsupport](https://developer.android.com/studio/write/java8-support#library-desugaring).\nImplementations of missing APIs are compiled into apps and the byte code of APKs\nare rewritten to reference the implementations instead of the libraries on the\nplatform.\n\nLoading OEM implementations of UI components from a Car UI Library plugin\nrequires the referencing of methods defined by `car-ui-lib-plugin-apis`\ninterfaces. These method references are made from apps to Car UI Library plugins\nat runtime with the expectation that method signatures are identical in app and\nplugin implementations.\n\nSome build systems enable API desugaring at all times due to requirements of a\nspecific minimum SDK level. Desugared method signatures for\n`car-ui-lib-plugin-apis` interfaces may not match those in an OEM plugin\nimplementation that has not been desugared, which results in plugins failing to\nload.\n\nAs a result, some GAS apps compiled with the internal Google build system are\nincompatible with the Car UI Library plugin. Therefore, we've removed all\ndependencies on Java 8 (and higher) APIs that require desugaring. This change\nrequires updates to the API of the interfaces defined by\n`car-ui-lib-plugin-apis`.\n\nRequired steps for OEM plugins\n------------------------------\n\nFollow these steps to update your API:\n\n1. Update the plugin implementation to use the latest version of\n `car-ui-lib-plugin-apis`. To get the latest version of (1.2.0 or higher),\n see [Google's Maven\n Repository](https://maven.google.com/web/index.html#com.android.car.ui:car-ui-lib-plugin-apis).\n\n2. Update the plugin implementation to implement the `PluginFactoryOEMV4`\n interface. This change requires the following steps when a component is\n implemented by the OEM plugin. Update the OEM implementation of:\n\n 1. Toolbar, to implement `ToolbarControllerOEMV2`.\n\n 2. Content list items, to extend `ContentListItemOEMV2`.\n\n 3. IME search results handing, to extend `ImeSearchInterfaceOEMV2`.\n\n3. Update the app to use the latest version of the Car UI Library.\n\nWhat happens if this update is not applied?\n-------------------------------------------\n\nIf the steps provided on this page aren't completed for an OEM plugin, desugared\napps, such as the Google Automotive Services (GAS), fail to load implementations\nof the Car UI Library plugin and no OEM customizations are applied through the\nplugin mechanism.\n\nExisting RRO customizations for the Car UI Library are not affected by this\nissue and continue to perform as usual."]]