از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
پیوست C، حداقل نسخه سازگار برای Car UI Plugin API
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
انتظار می رود OEM ها در اسرع وقت به جدیدترین نسخه car-ui-lib-plugin-apis
(1.2.0 یا بالاتر) سوئیچ کنند. در حالت ایده آل، OEM ها نباید هیچ افزونه ای را ارسال کنند که از نسخه قدیمی تر استفاده می کند.
چرا این به روز رسانی؟
Java 8+ APIها برای نسخه های قبلی اندروید از طریق پشتیبانی جاوا 8+ API desugaring پشتیبانی می شوند. پیادهسازیهای APIهای گمشده در برنامهها کامپایل میشوند و کد بایتهای APK برای ارجاع به پیادهسازیها به جای کتابخانههای روی پلتفرم بازنویسی میشوند.
بارگیری پیادهسازیهای OEM مؤلفههای UI از پلاگین Car UI Library نیازمند ارجاع به روشهایی است که توسط واسطهای car-ui-lib-plugin-apis
تعریف شدهاند. این ارجاع روش از برنامهها به پلاگینهای Car UI Library در زمان اجرا با این انتظار انجام میشود که امضای روش در اجرای برنامه و افزونه یکسان باشد.
برخی از سیستمهای ساخت به دلیل الزامات حداقل سطح SDK خاص، شیرینسازی API را همیشه فعال میکنند. امضاهای روش desugared برای واسطهای car-ui-lib-plugin-apis
ممکن است با موارد موجود در یک پلاگین OEM که قندزدایی نشده است مطابقت نداشته باشد، که منجر به بارگیری پلاگینها نمیشود.
در نتیجه، برخی از برنامههای GAS که با سیستم ساخت داخلی Google کامپایل شدهاند، با افزونه Car UI Library ناسازگار هستند. بنابراین، ما تمام وابستگیهای APIهای جاوا ۸ (و بالاتر) را که نیاز به حذف قند دارند حذف کردهایم. این تغییر نیازمند بهروزرسانیهای API رابطهای تعریفشده توسط car-ui-lib-plugin-apis
است.
مراحل لازم برای پلاگین های OEM
برای به روز رسانی API خود این مراحل را دنبال کنید:
پیاده سازی افزونه را برای استفاده از آخرین نسخه car-ui-lib-plugin-apis
به روز کنید. برای دریافت آخرین نسخه (1.2.0 یا بالاتر)، به مخزن Maven Google مراجعه کنید.
پیاده سازی افزونه را برای پیاده سازی رابط PluginFactoryOEMV4
به روز کنید. هنگامی که یک کامپوننت توسط افزونه OEM پیاده سازی می شود، این تغییر به مراحل زیر نیاز دارد. اجرای OEM را به روز کنید:
نوار ابزار، برای پیاده سازی ToolbarControllerOEMV2
.
موارد فهرست محتوا، برای گسترش ContentListItemOEMV2
.
ارائه نتایج جستجوی IME، برای گسترش ImeSearchInterfaceOEMV2
.
برای استفاده از آخرین نسخه کتابخانه رابط کاربری Car UI، برنامه را بهروزرسانی کنید.
اگر این به روز رسانی اعمال نشود چه اتفاقی می افتد؟
اگر مراحل ارائه شده در این صفحه برای یک افزونه OEM تکمیل نشود، برنامههای قندزدایی، مانند Google Automotive Services (GAS)، اجرای پلاگین Car UI Library را بارگیری نمیکنند و هیچ سفارشیسازی OEM از طریق مکانیسم افزونه اعمال نمیشود.
سفارشیسازیهای RRO موجود برای کتابخانه UI Car تحت تأثیر این مشکل قرار نمیگیرند و طبق معمول به کار خود ادامه میدهند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-06-12 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-06-12 بهوقت ساعت هماهنگ جهانی."],[],[],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."]]