יצרני ציוד מקורי (OEM) צפויים לעבור לגרסה החדשה ביותר של car-ui-lib-plugin-apis
(1.2.0 ואילך) בהקדם האפשרי. באופן אידיאלי, יצרני ציוד מקורי לא צריכים לשלוח יישומי פלאגין שמשתמשים בגרסה ישנה יותר.
למה אנחנו מבצעים את העדכון הזה?
יש תמיכה ב-API של Java 8 ואילך בגרסאות קודמות של Android באמצעות תמיכה בביטול הסוכרים של API של Java 8 ואילך. הטמעות של ממשקי API חסרים מקובצות באפליקציות, וקוד הבייט של חבילות ה-APK נכתב מחדש כך שיתייחס להטמעות במקום לספריות בפלטפורמה.
כדי לטעון הטמעות של יצרני ציוד מקורי (OEM) של רכיבי ממשק משתמש מפלאגין של ספריית ממשק המשתמש שברכב, צריך להפנות לשיטות שמוגדרות בממשקי car-ui-lib-plugin-apis
. הפניות השיטות האלה נוצרות מאפליקציות לפלאגינים של ספריית ממשק המשתמש שברכב במהלך זמן הריצה, מתוך הנחה שהחתימות של השיטות זהות בהטמעות של האפליקציה והפלאגין.
חלק ממערכות ה-build מאפשרות הסרה של סוכר מ-API בכל שלב בגלל דרישות של רמת SDK מינימלית ספציפית. יכול להיות שחתימות שיטות ללא סוכר של ממשקי car-ui-lib-plugin-apis
לא יהיו תואמות לחתימות שיטות ללא סוכר של הטמעת פלאגין של יצרן ציוד מקורי, וכתוצאה מכך הפלאגינים לא ייטענו.
כתוצאה מכך, חלק מהאפליקציות ל-GAS שעברן הידור באמצעות מערכת ה-build הפנימית של Google לא תואמות לפלאגין של ספריית ממשק המשתמש ברכב. לכן הסרנו את כל יחסי התלות ב-API של Java 8 (וגם גרסאות מתקדמות יותר) שדורשים הסרה של סוכר. השינוי הזה מחייב עדכונים ב-API של הממשקים שמוגדרים על ידי car-ui-lib-plugin-apis
.
השלבים הנדרשים לפלאגינים של יצרני ציוד מקורי
כדי לעדכן את ה-API:
מעדכנים את הטמעת הפלאגין כך שישתמש בגרסה האחרונה של
car-ui-lib-plugin-apis
. כדי לקבל את הגרסה האחרונה (1.2.0 ואילך), אפשר להיכנס אל Maven Repository של Google.מעדכנים את הטמעת הפלאגין כך שתטמיע את הממשק
PluginFactoryOEMV4
. כדי לבצע את השינוי הזה, צריך לבצע את השלבים הבאים כשמטמיעים רכיב באמצעות הפלאגין של ה-OEM. עדכון ההטמעה של יצרן הציוד המקורי (OEM) של:סרגל הכלים, כדי להטמיע את
ToolbarControllerOEMV2
.פריטים ברשימת התוכן, כדי להרחיב את
ContentListItemOEMV2
.טיפול בתוצאות חיפוש של IME, כדי להרחיב את
ImeSearchInterfaceOEMV2
.
מעדכנים את האפליקציה כך שתשתמש בגרסה האחרונה של ספריית ממשק המשתמש ברכב.
מה יקרה אם לא מחילים את העדכון הזה?
אם לא משלימים את השלבים שמפורטים בדף הזה עבור פלאגין של יצרן ציוד מקורי, אפליקציות שהוסרו מהן הסוכר (desugared), כמו Google Automotive Services (GAS), לא מצליחות לטעון הטמעות של הפלאגין Car UI Library ולא חלות התאמות אישיות של יצרן ציוד מקורי באמצעות מנגנון הפלאגין.
התאמות אישיות קיימות של RRO לספריית ממשק המשתמש ברכב לא מושפעות מהבעיה הזו וימשיכו לפעול כרגיל.