אפליקציה לרכב

פיתוח אפליקציות לפי תבניות ל-Android Auto ול-Android Automotive OS.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
15 בינואר 2025 1.4.0 1.7.0-rc01 - -

הצהרת יחסי תלות

כדי להוסיף תלות בספריית אפליקציות הרכב, צריך להוסיף את המאגר של Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

מגניב

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

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

גרסה 1.7

גרסה 1.7.0-rc01

15 בינואר 2025

גרסת androidx.car.app:app-*:1.7.0-rc01 פורסמה ללא שינויים משמעותיים מגרסת beta03. הגרסה 1.7.0-rc01 כוללת את ההוספות האלה.

  • זוהי גרסת ה-RC הראשונה שכוללת את התיקון ל-CVE-2024-10382 שתוקן ב-beta03. אם אתם משתמשים בגרסה ישנה יותר מ-1.7-beta03, עליכם לעדכן את הגרסה.

גרסה 1.7.0-beta03

13 בנובמבר 2024

תוקנה נקודת חולשה באבטחה ותיקנו באגים כלליים אחרים. אם אתם משתמשים בגרסה ישנה יותר, עליכם לעדכן את התוכנה לגרסה הזו.

androidx.car.app:app-*:1.7.0-beta03 משוחרר. גרסת 1.7.0-beta03 כוללת את ההוספות האלה.

שינויים ב-API

  • מעדכנים את הקוד של קלאס CAL לסריאליזציה או לביטול הסריאליזציה כך שיטפל רק באובייקטים שבהם הוגדרה ההערה @CarProtocol. (Ic730e)
  • עכשיו אפשר להשתמש ב-CarAppExtender כדי להרחיב את המסגרת Notification.Builder במקום רק את NotificationCompat.Builder. (Id3ad7)
  • מוסיפים עוד KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST. (I201f9)
  • מוציאים משימוש את ה-constructor הריק של Builder ב-ConversationItem ומחליפים אותו ב-constructor שמקבל פרמטרים נדרשים. הבדיקה הזו גם מגינה מפני הודעות null. (Ic8221)

תיקוני באגים

  • מוודאים שהמפה PlaceList משתמשת במחרוזת (טקסט בלבד) כותרת כותרת. (Ic992f)
  • הספרייה הזו משתמשת עכשיו בהערות של JSpecify לגבי ערכים null, שהן שימוש בסוגים. מפתחי Kotlin צריכים להשתמש בארגומנטים הבאים של המהדר כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode. (Ib5367, ‏ b/326456246)

גרסה 1.7.0-beta02

18 בספטמבר 2024

androidx.car.app:app-*:1.7.0-beta02 משוחרר. גרסת 1.7.0-beta02 כוללת את ההוספות האלה.

שינויים ב-API

  • הוספת KEY_ROOT_HINT_MEDIA_HOST_VERSION נוסף (I8796b)
  • מחליפים את הכיתה TabContents.Api8Builder ב-constructor של @ExperimentalCarApi בכיתה TabContents.Builder (I26fbe)
  • הוספת פעולת Intent ואקסטרות ל-CarMediaApp (I50782)
  • סימון ממשקי API להעברת הודעות כלא ניסיוניים (I0b070)
  • הוספת טעינה מרחוק של פריטים ל-SectionedItemTemplate (מאפשרת לטעון רשימות ארוכות בלי קריסה) (I0d122)
  • הוספת SectionedItemTemplate לרשימת התבניות הנתמכות ב-TabTemplate ב-API 8. (Idc5d6)

תיקוני באגים

  • הסרנו את התיאור הידני של הגישה לממשקי API חדשים של פלטפורמות, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של ממשקי API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל, R8 גרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP 8.1 ואילך (למשל, D8 גרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלצים לעדכן ל-D8 בגרסה 8.1 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (I9496c, ‏ b/345472586)

גרסה 1.7.0-beta01

26 ביוני 2024

androidx.car.app:app-*:1.7.0-beta01 משוחרר. גרסת 1.7.0-beta01 כוללת את ההוספות האלה. התכונות הן אותן תכונות שפורסמו ב-alpha01, ואלה הן:

תכונות חדשות

  • מפה עם תוכן: תבנית חדשה של מפה על קנבס בתוספת תבנית תוכן, שכרגע יכולה להיות רשימה, רשת, חלונית או הודעה.
    • התכונות RoutePreview, PlaceListNavigation וגם MapTemplate הוצאו משימוש. התבניות ימשיכו לפעול כפי שהן.
    • אפליקציות לדוגמה עודכנו כך שיוצגו בהן MapWithContent במקום תבניות שכבר לא נתמכות
  • פריט שיחה: ממשקי API חדשים להצגת שיחות (צ'אט, SMS) והקראה של Assistant ברכב.
  • מאפייני רכב: ממשק API חדש לאחזור מדדי רכב (הנתונים נמצאים כרגע ב-AAOS).

שינויים ב-API

  • מוסיפים את התג @ExperimentalCarApi אל MediaPlaybackTemplate.Builder. (Ic1957)
  • הוספת SectionedItemTemplate חדש בניסיוני. (I5958a)
  • הצגת CarAppApiLevel 8 (I3fa22)
  • הוספת MediaPlaybackTemplate להצגת תוכן במהלך הפעלת מדיה בספרייה של אפליקציות הרכב. (I3c10d)
  • נוספה ממשק API חדש לאפליקציות כדי לזהות אם המערכת תומכת באודיו ברקע בזמן נהיגה (I0f868)

תיקוני באגים

  • תיקון מקרים מסוימים של דליפות זיכרון וקריסות בקוד הלקוח של CAL ובאפליקציית הדוגמה לניווט ב-CAL. (I55e04)
  • כדי למנוע קריסות, מחליפים את requireNotNull instances בשיטה onDestroy של BaseCarAppActivity בבדיקות if-null. (Iec676)

גרסה 1.7.0-alpha02

17 באפריל 2024

androidx.car.app:app-*:1.7.0-alpha02 משוחרר. הגרסה 1.7.0-alpha02 כוללת את ההוספות האלה.

תכונות חדשות

  • נוספו דגלים שהוצאו משימוש לתבניות שמבוססות על מפה, ותבנית MapWithContent תפעל אותם מעכשיו והלאה.

שינויים ב-API

  • הוצאה משימוש של MapTemplate,‏ RoutePreviewNavigationTemplate ו-PlaceListNavigationTemplate הישנים ועידוד השימוש ב-MapWithContentTemplate החדש (Ib0a08)

גרסה 1.7.0-alpha01

3 באפריל 2024

androidx.car.app:app-*:1.7.0-alpha01 משוחרר. שינינו את הסכימה של ניהול הגרסאות של הספרייה כך שתתאים לגרסה הפעילה של CarApi. המטרה היא לצמצם את הבלבול לגבי מערכת השמות על סמך משוב ממפתחים. כתוצאה מכך, נדלג על הגרסאות 1.5 ו-1.6 ונעבור ישירות לגרסה 1.7. גרסת 1.7.0-alpha01 מכילה את ההוספות האלה.

תכונות חדשות

  • מפה עם תוכן: תבנית חדשה בשם MapWithContent שתומכת בתוכן מסוג רשימה, רשת, חלונית או הודעה בתוך מפה.
    • RoutePreview, PlaceListNavigation, תבניות המפה הוצאו משימוש.
    • אפליקציות לדוגמה עודכנו כדי להציג את הפונקציונליות של תבניות שהוצאו משימוש באמצעות MapWithContent.
  • Conversation Item: ממשקי API חדשים להצגת שיחות (צ'אט, SMS) והקראה של Assistant ברכב.
  • מידות הרכב: ממשק API חדש לאחזור מידות הרכב (הנתונים נמצאים כרגע ב-AAOS).

שינויים ב-API

  • סימון סוג התמונה של שורה קטנה במיוחד כניסיוני (I5184b)
  • נוספה ממשק API מסוג CarInfo#fetchExteriorDimensions שמאפשר גישה למידע על המימדים החיצוניים של הרכב, כמו גובה, רוחב וכו' (Ia40c5)
  • הוסר התג ExperimentalAPI מ-MapWithContentTemplate (I66db8)
  • מעדכנים את הפרמטר GridItem#setTitle כך שיהיה nullable. (I3d610)
  • GetHeader API לא מחייב API 7 כי הוא תואם לאחור (I8c812)
  • הוספת תמיכה ב-Header ב-ListTemplate, הוצאה משימוש של headerAction,‏ headerTitle ו-actionStrip (I7ae01)
  • הוצאה משימוש של title, ‏headerAction, ‏actionStrip ב-GridTemplate והוספת תמיכה ב-Header (I41a9c)
  • הסרת הדרישה ברמה 7 לממשקי API ניסיוניים: תג, GridTemplate פונקציות קבלה/הגדרה של גודל הפריט וצורת התמונה, GridItem שיטות לקבלה/הגדרה של תג. (Id71eb)
  • הוצאה משימוש של title,‏ headerAction ו-actionStrip ב-PaneTemplate, הוספת תמיכה חדשה ב-Header (I23154)
  • שינינו את הטלמטריה של Media Center מ-BroadcastReceiver לפעולה מותאמת אישית של גלישה. (I4185f)
  • נוספה תמיכה במאפיין Header ב-MessageTemplate. תמיכה שהופסקה ב-ActionStrip, ב-headerAction וב-title. (Ie2de8)
  • שינוי החשיפה של קבוע התראות (Icf8a8)
  • מסירים את המאפיין isLoading מתבנית ההורה (I651e6)
  • הוספת פריטים נוספים כדי להודיע לאפליקציות מדיה על הפרמטרים העיקריים של ממשק המשתמש (I85ca2)
  • הוספת התכונה 'ניתוח נתונים של מרכז המדיה' אל MediaExtensions (I7ce28)
  • נוספה אפשרות להצגת תמונה קטנה במיוחד בשורות. (I72c03)

תיקוני באגים

  • מעדכנים את javadoc ב-ConversationItem כך שיציין שצריך למיין את ההודעות בסדר מהישנות ביותר לחדשות ביותר. (I77a2a)
  • עדכון הלוגיקה של חיתוך ListTemplate כדי להסיר את ההודעות הישנות ביותר מ-ConversationItem (Ie0a61)

גרסה 1.4

גרסה 1.4.0

29 במאי 2024

androidx.car.app:app-*:1.4.0 משוחרר. גרסה 1.4.0 היא שדרוג של 1.4.0-rc02.

שינויים חשובים מאז גרסה 1.3.0

  • עיבוד מפות בלוח המחוונים לאפליקציות ניווט
  • תבנית כרטיסייה חדשה לשיפור הפריסה או נוחות השימוש באפליקציה
  • תמיכה במגבלות על משימות מותאמות
  • פעולות משניות על רכיבי רשימה

גרסה 1.4.0-rc02

13 בדצמבר 2023

androidx.car.app:app-*:1.4.0-rc02 משוחרר. גרסה 1.4.0-rc02 מכילה את ההצהרות האלה. תיקונים קלים בלבד

תיקוני באגים

  • עדכון javadoc ב-ConversationItem כך שיציין שצריך למיין את ההודעות לפי הסדר מהישנות ביותר לחדשות ביותר (I77a2a)
  • עדכון הלוגיקה של חיתוך ListTemplate כדי להסיר את ההודעות הישנות ביותר מ-ConversationItem (Ie0a61)

גרסה 1.4.0-rc01

1 בנובמבר 2023

androidx.car.app:app-*:1.4.0-rc01 פורסם ללא שינויים משמעותיים. גרסה 1.4.0-rc01 כוללת את ההוספות האלה.

גרסה 1.4.0-beta02

20 בספטמבר 2023

androidx.car.app:app-*:1.4.0-beta02 משוחרר. גרסה 1.4.0-beta02 כוללת את ההצהרות האלה. הגרסה הזו כמעט זהה ל-beta01, אבל הדרישה ל-compileSdk קטנה ל-33.

תיקוני באגים

  • תוקן באג שגרם לכך שמסכי טעינה בכרטיסיות לא הוצגו כראוי. (cae860)

גרסה 1.4.0-beta01

9 באוגוסט 2023

androidx.car.app:app-*:1.4.0-beta01 משוחרר. גרסה 1.4.0-beta01 מכילה את ההצהרות האלה.

הערה: הגרסה 1.4-beta01 דורשת את compileSdk34, שעדיין נמצא בסטטוס פיתוח. הבעיה תיפתר בגרסה 1.4-beta02. לחלופין, אפשר להוסיף את android.suppressUnsupportedCompileSdk=34 לקובץ settings.gradle של הפרויקט כדי לדכא את האזהרה באופן זמני ובטוח.

תכונות חדשות

שינויים ב-API

  • ראו alpha02

גרסה 1.4.0-alpha02

26 ביולי 2023

androidx.car.app:app-*:1.4.0-alpha02 משוחרר. גרסה 1.4.0-alpha02 מכילה את ההצהרות האלה.

  • השקת Alpha02 נועדה להכין את הקרקע להשקת beta01 בקרוב.

תכונות חדשות

  • תמיכה בעיבוד מפות באשכול הכלים לאפליקציות ניווט
  • הוספנו כרטיסיות לאפליקציות כדי לשפר את חוויית השימוש בתצוגה
  • נוספו אפשרויות עיבוד של תבניות רשימה / רשת
  • נוספו קטגוריות חדשות למזג האוויר ולתקשורת
  • העברת כמה ממשקי API למהדורה הבאה של CarApi 7

שינויים ב-API

  • הוספת שדות מולטימדיה ל-CarMessage (I5aaf6)
  • הוספת פעולות מותאמות אישית ל-ConversationItem בספריית האפליקציות לרכב (Ie5ed6)
  • הוספת תכנים נוספים כדי לציין שפריט מדיה מסוים מופעל בפורמט אודיו אימרסיבי ולהציג את הלוגו של פורמט התוכן שלו (Icb5bb)
  • הוספת סוג פעולה חדש, ActionsConstraints API לתמיכה בכפתור הכתיבה. (I31661)
  • set/getTemplate נוצר כ-set/get ContentTemplate (Ica036)
  • עכשיו הפרמטר של התבנית יהיה @NonNull. מסמכי התיעוד של API של MapWithContentTemplate עודכנו (I0f8ed)
  • הסרת התג @ExperimentalCarApi של פעולות ב-ListTemplate להשקה ב-CAL 1.4 (I2cfcb)
  • הסרת התג @ExperimentalCarApi עבור TabTemplate (Ifcb82)
  • הסרת ההערות של @ExperimentalCarApi מהפעולות המשניות ומהעיצובים של השורה (I8487e)
  • הוספת מזהה תוכן של כרטיסייה פעילה אל TabTemplate והוצאה משימוש של המצב הפעיל בכרטיסיות (I96932)
  • הוספת הנכס ItemImageShape אל GridTemplate (Ibf431)
  • מוסיפים את המאפיין ItemSize ל-GridTemplate, שמגדיר את הגודל של הפריטים ברשימה לפי קטגוריות יחסיות של קטנות, בינוניות וגדולות. (Icdb3b)
  • פותחים את הגישה ל-API למפתחים כדי לקבל עותק של מקבץ המסכים הנוכחי. (I48107)
  • הוספת קטגוריה לאפליקציות מזג אוויר לספריית האפליקציות ברכב (I2be44)
  • הוספת קטגוריה לאפליקציות לשיחות לספריית האפליקציות ברכב (Icab33)
  • GridItem.Builder#setBadge() הוחלף בשיטות setImage() עם עומס יתר (Id2000)
  • הוספת מאפיין סמל לתג (I629b2)
  • הוספת שיטה להגדרת צבע הרקע של תג הנקודה (I6411c)
  • הוספת המאפיין Badge אל GridItem, כדי לאפשר הצגת תג מעל תמונה של GridItem. (I95de7)
  • נוספו אובייקטים ניסיוניים של תגים שמייצגים תגים שמוצגים מעל תמונה. (I9878d)

גרסה 1.4.0-alpha01

22 בפברואר 2023

androidx.car.app:app-*:1.4.0-alpha01 משוחרר. גרסה 1.4.0-alpha01 מכילה את ההוספות האלה.

שינויים ב-API

  • הוספת פעולות ברמה העליונה ל-GridTemplate בספריית האפליקציות ברכב (Id0191)
  • הוספת פעולות ברמה העליונה ל-ListTemplate בספריית האפליקציות לרכב (I9efab)
  • הוספת תכנים נוספים כדי לקשר את הכתוביות או את התיאור של פריט מדיה לפריטי מדיה אחרים (Ic84bf)
  • מעדכנים את רמת ה-API של פעולות השורה לרמה 6. (Ie0a69)
  • הוספת קריאות חזרה להעברת הודעות ל-A4C (Ie3986)

תיקוני באגים

  • הוספת הפניות חסרות למסמכי העזר של Java עבור CarMessage. (I5db1c)
  • שינוי של equals() ו-hashCode() עבור ConversationItem ו-CarMessage (I6fd10)
  • שיפור האימות של ConversationItem.mMessages (חובה להגדיר ערך שאינו null ולא ריק (Iafc51)
  • הוספת הערות @Keep לשדות ConversationItem (I5d250)
  • עדכון מסמכי התיעוד של Java לגבי עיטור שורות ופעולות משניות. (I000b6)

גרסה 1.3

גרסה 1.3.0-rc01

7 בדצמבר 2022

androidx.car.app:app-*:1.3.0-rc01 משוחרר. גרסה 1.3.0-rc01 כוללת את ההוספות האלה.

  • תיקוני באגים קלים מ-beta01. אין שינויים משמעותיים.

גרסה 1.3.0-beta01

7 בספטמבר 2022

התכונות 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-beta01 וגם androidx.car.app:app-testing:1.3.0-beta01 משוחררות. גרסה 1.3.0-beta01 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

בנוסף ליכולות שנוספו ב-Car App Library 1.3.0-alpha01, התכונות הבאות נוספו כחלק מ-beta01 (כל התכונות האלה כוללות רק שינויים בצד המארח, ללא שינויים ב-API):

  • סרגל הניווט הצף ימשיך להופיע גם כשהמשתמש נמצא במסך בחירה שמבוסס על מפה ב-PlaceListNavigationTemplate, ב-RoutePreviewNavigationTemplate וב-MapTemplate. כדי לעשות זאת, מעדכנים את פרטי הניווט דרך NavigationManager.updateTrip().
  • מפעילים את לחצן הפעולה באמצעות FLAG_DEFAULT כדי להציג אנימציה של זמן קצוב. המערכת תלחץ על הלחצן הזה כברירת מחדל לאחר זמן הקצוב לתפוגה. ([API 5 - All Templates])
  • הטקסט המשני של Row לא יקוצר כשהרכב חונה, אבל יקוצר לשתי שורות בזמן הנהיגה. ([API 5 - All Templates])
  • תמיכה במצב מושבת עבור Action, ‏ Toggle, ‏ Row ([API 5 - All Templates])

שינויים ב-API

  • הוספת רשימות לבחירה ללא הגבלות (I961ed)MapTemplate
  • מסירים את האילוץ של פעולות בכותרת כדי לאפשר שימוש בסמלים מותאמים אישית. (Iad28f)
  • מוסיפים אילוץ setOnClickListenerAllowed() ל-ActionsConstraints. שבו הותר ל-Action להגדיר את OnClickDelegate() לפעולות, מלבד סוגי הסמלים הרגילים. (TYPE_APP_ICON,‏ TYPE_BACK ו-TYPE_PAN) (I3c745)

תיקוני באגים

גרסה 1.3.0-alpha01

27 ביולי 2022

התכונות 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-alpha01 וגם androidx.car.app:app-testing:1.3.0-alpha01 משוחררות. גרסה 1.3.0-alpha01 כוללת את ההוספות האלה.

תכונות עם הערות ברמת API 5 תואמות ל-Android Auto מגרסה 7.9 ואילך.

תכונות חדשות

  • רמת API 5: MapTemplate חדש שאפשר להשתמש בו באפליקציות ניווט כדי להציג חלונית או רשימה של תוכן לצד מפה (If5826, ‏ If44b8)
  • רמת API 5: ממשק API חדש של CarAudioRecord שמאפשר להקליט קלט אודיו דרך המיקרופון של הרכב המארח (I5e71a)
  • רמת API 5: ממשק API חדש של SuggestionManager שמאפשר לאפליקציות לספק הצעות למארח (I5c103)
  • רמת API 5: ממשק API חדש של Alert להצגת התראות לפי הקשר ב-NavigationTemplate (I163a7, ‏ I5ad70)
  • רמת API 5: רכיבים חדשים של Header ו-MapController כדי להקל על שימוש חוזר בתבניות שונות (If5826)
  • הוספה של androidx.car.app.category.POI כקטגוריה להפעלת אפליקציות של נקודות עניין (והוצאה משימוש של androidx.car.app.category.PARKING ו-androidx.car.app.category.CHARGING) (I59da1)

שינויים ב-API

  • רמת API 5: שיטה חדשה של onClick בממשק SurfaceCallback שמאפשרת להקיש על המפה כדי לבצע פעולות אינטראקטיביות (Ia9777)
  • רמת API 5: דגלים חדשים Action.FLAG_IS_PERSISTENT ו-Action.FLAG_DEFAULT לתיאור Action (I96318, ‏ I5ad70)
  • רמת API 5: מצב מופעל/מושבת חדש לרכיבים Action,‏ Row ו-Toggle (תמיכה במארח תגיע בסביבות השקת הגרסה 1.3.0-beta01 של הספרייה) (Id8a09)
  • רמת API 5: עדיפות לרכיב Header החדש דרך setHeader ב-PlaceListNavigationTemplate.Builder וב-RoutePreviewNavigationTemplate.Builder, והוצאה משימוש של השיטות הקיימות setTitle ו-setHeaderAction (I30e6a)
  • רמת API 5: שיטת setOnContentRefreshListner חדשה ב-PlaceListMapTemplate.Builder וב-PlaceListNavigationTemplate.Builder לשימוש בהטמעות של הממשק החדש OnContentRefreshListner.
  • רמת API 5: השדות החדשים setTripText ו-setTripIcon ב-TravelEstimate.Builder מאפשרים להתאים אישית את הכרטיס של אומדן הנסיעה (Idcc6d, ‏ Ic620d)
  • הוספת תמיכה ב-CarIconSpan בכותרת של PaneTemplate (Ia1ee0)
  • הוספת תמיכה ב-CarIconSpan בכותרת ובטקסט של Row (Ic1e3c)
  • מעכשיו אפשר להגדיר עד ארבע פעולות ב-ActionStrip של המפה (If3522)
  • עדכון רמת ה-API של אפליקציית הרכב ל-5 (I26b8e)
  • כותרות הן עכשיו אופציונליות עבור השדות PlaceListMapTemplate,‏ PlaceListNavigationTemplate,‏ RoutePreviewNavigationTemplate,‏ GridTemplate,‏ ListTemplate,‏ LongMessageTemplate,‏ MessageTemplate,‏ PaneTemplate ו-SignInTemplate (I2078d,‏ Icadde)

תיקוני באגים

  • עדכנו את כללי הגודל של התמונות ב-PaneTemplate כך שיתאימו לתיבת גבול ריבועית (Idd72e)
  • תוקן חריג שיכול לקרות אם סטאק המסך משתנה אחרי State.DESTROYED. (I3c8eb)
  • נוספה בדיקה של ערך null לאחזור סמל האפליקציה (I3f710)
  • עדכון Car Hardware API כך שישתמש ב-STATUS_UNKNOWN במקום ב-STATUS_UNAVAILABLE כברירת מחדל (Ic9444)
  • בדיקה אם המסך קיים לפני יצירת פלטפורמה (Ice027a)
  • תיקון באג CarValue.equals() שקשור ל-STATUS_UNIMPLEMENTED (I24451)

גרסה 1.2

גרסה 1.2.0

9 בנובמבר 2022

androidx.car.app:app-*:1.2.0 משוחרר. גרסה 1.2.0 כוללת את השמירות האלה.

  • זוהי גרסה יציבה, ואין בה שינויים בהשוואה לגרסה v1.2.0-rc01.

גרסה 1.2.0-rc01

23 במרץ 2022

androidx.car.app:app-*:1.2.0-rc01 משוחרר. גרסה 1.2.0-rc01 כוללת את השמירות האלה.

  • זוהי גרסה יציבה, ואין שינויים ב-API בהשוואה ל-v1.2.0-beta02. נוספו תכונות ניסיוניות חדשות (רמת API 5) שמיועדות לגרסאות עתידיות של Android Auto ו-Android Automotive.

תיקוני באגים

  • תוקן חריג שיכול לקרות אם סטאק המסך משתנה אחרי State.DESTROYED. (I3c8eb)
  • עדכנו את ממשקי ה-API של CarSensors כדי לציין שהם לא מוטמעים ב-AAOS‏ (Idd57b)
  • עדכנו את PlaceListMapTempalte.Builder#setCurrentLocationEnabled כדי לציין ש-ACCESS_COARSE_LOCATION מספיק לתכונה (I510c2)
  • מספר היציאה הפך לאפשרות אופציונלית עבור סוגי תמרוני פנייה בצומת עגול עם זווית (Ife7d1)

גרסה 1.2.0-beta02

26 בינואר 2022

androidx.car.app:app-*:1.2.0-beta02 משוחרר. גרסה 1.2.0-beta02 מכילה את ההצהרות האלה.

עכשיו אפשר לפרסם אפליקציות לרכב שנוצרו באמצעות גרסת הספרייה הזו ומטרגטות את פלטפורמת Android Automotive OS בערוץ הבדיקה הפתוח של חנות Play. פרטים נוספים זמינים במדריך לפיתוח.

תכונות עם הערות ברמת API 4 ומטה תואמות גם ל-Android Auto מגרסה 7.2 ואילך וגם לפלטפורמה החדשה של Android Automotive OS. בקטע Known Issues בהמשך מפורטות אזהרות.

שינויים ב-API

  • נוסף ממשק API setOnContentRefreshListener ניסיוני לתבניות של נקודות עניין (I6bf22)

תיקוני באגים

  • תוקנה דליפת זיכרון ב-CarAppService כשמארח הרכב מבטל את הקישור. (I5c9ca, ‏ b/203594731)
  • עדכון javadoc של CarAppActivity כך שיכלול דרישות ל-launchmode מסוג singleTask (Id2f95)
  • הפחתת הבעיה החזותית בהפעלה מחדש. (Iff7e0)

בעיות מוכרות

  • המפות ActionStrip ב-PlaceListNavigationTemplate וב-RoutePreviewNavigateTemplate יתחילו להיות זמינות בגרסאות הבאות של Android Auto ו-Android Automotive OS.

גרסה 1.2.0-alpha02

15 בדצמבר 2021

androidx.car.app:app-*:1.2.0-alpha02 משוחרר. גרסה 1.2.0-alpha02 מכילה את השמירות האלה.

תכונות שהוערה עליהן הערה ברמת API 4 שדרוגו מרמה ניסיונית לרמה יציבה, כולל המאפיינים ActionStrip של המפה ב-PlaceListNavigationTemplate וב-RoutePreviewNavigateTemplate, התמונה CarIcon ב-Pane, ה-QRCodeSignInMethod והיכולת להגדיר טיפים לעיבוד (למשל דגלים) ב-Action.

תכונות חדשות

  • ב-Android Auto מגרסה 7.1 ואילך, מגבלת הפריטים של Pane הוגדלה מ-2 ל-4.

שינויים ב-API

  • נוספה שיטה toString() ניסיונית אל CarUnit(I36a3b)

תיקוני באגים

  • תוקנה קריסה שקרתה ב-CarAppPermissionActivity אם קריאת החזרה (callback) לא פעילה (If9823)
  • שינוי המגבלה של רשימת ברירת המחדל Pane ל-4 (I0068b)

גרסה 1.2.0-alpha01

3 בנובמבר 2021

androidx.car.app:app-*:1.2.0-alpha01 משוחרר. גרסה 1.2.0-alpha01 מכילה את ההוספות האלה.

כל התכונות החדשות של v1.2.0 (API 4 ואילך) הן כרגע ניסיוניות, והן מיועדות לגרסאות עתידיות של Android Auto ושל Android Automotive OS. פרטים נוספים זמינים במדריך לפיתוח.

שינויים ב-API

  • ה-API של AutomotiveCarInfo הפך לניסיוני. (Ia13e5)
  • נוספה Car App Library API ברמה 4 (I2a2e7)
  • רמת API 4: נוספה תמיכה בהגדרת CarIcon ב-Pane (Ifcc12)
  • רמת API 4: נוספה שיטת כניסה באמצעות קוד QR (Ib623e)
  • רמת API 4: נוספו set/getFlags ל-Action (Ic03ab)
  • רמת API 4: נוספה תמיכה בתנועת פנורמה ובתצוגה ממוגדלת ב-PlaceListNavigationTemplate וב-RoutePreviewNavigationTemplate (I9d8a3)

תיקוני באגים

  • רמת API 4: הוספת מנגנון שמאפשר לאפליקציות לשלוח עדכוני מיקום למארח הרכב (I3bad3)
  • תוקנה בעיה שבה הלוגיקה של אימות המארח לא מצאה את ההרשאה TEMPLATE_RENDERER כראוי (I62618)

גרסה 1.1.0

גרסה 1.1.0

15 בדצמבר 2021

androidx.car.app:app-*:1.1.0 משוחרר. גרסה 1.1.0 מכילה את השמירות האלה.

זוהי גרסה יציבה, ואין בה שינויים בהשוואה ל-v1.1.0-rc01. פרטים נוספים על התכונות החדשות בספריית האפליקציות לרכב זמינים גם במסמך של נתוני הגרסה של v1.2.0-alpha02.

שינויים חשובים מאז גרסה 1.0.0

  • API ברמה 2: SignInTemplate ו-LongMessageTemplate שאפשר להשתמש בהם בתהליכי כניסה כשהרכב חונה
  • רמת API 2: תמיכה באינטראקטיביות של המפה ב-NavigationTemplate
  • API ברמה 2: תמיכה בטקסט באורך משתנה, כדי לאפשר לאפליקציות לספק כמה גרסאות של מחרוזת להצגה, בהתאם לגדלים של מסכי הרכב.
  • רמת API 3: CarHardwareManagerאפשר להשתמש בה כדי לשלוח שאילתות לגבי נתוני החומרה של הרכב, כמו דגם ויצרן, רמות דלק וחיישנים אחרים.

גרסה 1.1.0-rc01

3 בנובמבר 2021

androidx.car.app:app-*:1.1.0-rc01 משוחרר. גרסה 1.1.0-rc01 כוללת את השמירות האלה.

זוהי גרסה יציבה, ואין שינויים ב-API בהשוואה ל-v1.1.0-beta01. נוספו תכונות ניסיוניות חדשות (רמת API 4) שמיועדות לגרסאות עתידיות של Android Auto. פרטים נוספים על ממשקי ה-API הניסיוניים זמינים בהערות המוצר של v1.2.0-alpha01.

גרסה 1.1.0-beta01

1 בספטמבר 2021

androidx.car.app:app-*:1.1.0-beta01 משוחרר. גרסה 1.1.0-beta01 כוללת את השמירות האלה.

כל התכונות של v1.1.0 (API 2 ואילך) תואמות באופן מלא ל-Android Auto מגרסה 6.7 ואילך. פרטים נוספים זמינים במדריך לפיתוח.

שינויים ב-API

  • הוסר Manager כממשק ציבורי (Ie381b)
  • נוספה האפשרות להגדיר רקע מותג בהתאמה אישית לבקשת הרשאה (I74b76)
  • נוספה ScreenManager.getStackSize (I0b16a)
  • הוסרה המכונה הבנויה ScreenController שמקבלת את TestCarContext באופן מפורש (Iefebc)

תיקוני באגים

  • הוספנו בדיקה של רמת ה-API בזמן יצירת CarHardwareManager (I48f9b)
  • הוספנו בדיקות לשימוש לא חוקי ב-CarSpan ב-API (I65ae6)
  • תוקנה בעיה שבה אם Screen מסומן כ'סיום' במהלך היצירה שלו, הוא משאיר את הסטאק במצב שבור (I81b13)
  • תוקנה בעיה שבה CarNotificationManager.notify היה מתעד שגיאה ב-AutomotiveOS אם היו פעולות עם סמלים ב-CarAppExtender (I3633d)
  • הוספנו שיטת לחיצת יד לאפליקציה ולמארח כדי לקבוע גרסת API (I7d6f8)

גרסה 1.1.0-alpha02

21 ביולי 2021

androidx.car.app:app-*:1.1.0-alpha02 משוחרר. גרסה 1.1.0-alpha02 מכילה את ההוספות האלה.

תכונות חדשות

  • API ברמה 3: נוספה פונקציית CarHardwareManager שאפשר להשתמש בה כדי לשלוח שאילתות לגבי נתוני החומרה של הרכב, כמו דגם ויצרן, רמות דלק וחיישנים אחרים. נכון לעכשיו, התכונה הזו זמינה רק ב-Android Auto מגרסה 6.7 ואילך בערוץ הבדיקה הפתוח. כדי לבדוק את זה בסביבת מחשב, נדרשת גרסה חדשה של Desktop Head Unit שתפורסם בנפרד. כדאי לעקוב אחרי הדף 'בדיקת אפליקציות Android לרכבים' כדי לקבל פרטים על מועד הזמינות של הגרסה החדשה.
  • במדריך הפיתוח ובספריית העזרה מפורטות הנחיות עיצוב ופרטים נוספים על השימוש בתכונות האלה במארחים ברכב שתואמים ל-API ברמה 3.

שינויים ב-API

  • שיטות מחזור החיים של SessionController ו-ScreenController אוחדו לשיטה אחת של moveToState (I1ed00)
  • נוספה CarContext#getHostInfo() (I8977e)
  • שדות שיצאו משימוש הוסרו. (I67168)
  • עדכנו את SessionController ואת ScreenController כדי לחשוף את ה-constructors ישירות (Iabf22)
  • הוסר PinSignInMethod.Builder ו-ProviderSignInMethod.Builder (I9f0cb)
  • הוספנו את 'setCarAppResult()‎' כדי לאפשר שימוש באפליקציות לפי תבנית 'לצורך תוצאה' ב-AAOS (I37741)
  • ממשקי CarHardware עם הערות @MainThread. (Ib2f85)
  • שינית את השם של OnCarDataListener ל-OnCarDataAvailableListener (I518ca)
  • שמות השיטות CarInfo,‏ Speed ו-Mileage ו-javadoc עודכנו. (I86672)
  • השם של Toll השתנה ל-TollCard. (I3e7c8)
  • הוסר השדה PinSignInMethod.getPin שיצא משימוש והוחלף בשדה PinSignInMethod.getPinCode (I996ce)
  • הוסר OnInputCompletedListener (הוחלף ב-InputCallback). (Ib5be1)
  • השתנתה PinSignInMethod כך שתקבל את הערך CharSequence במקום String (I275d5)

תיקוני באגים

  • תיקוני Javadoc לחומרה של רכב. (I2abbc)

תרומה חיצונית

בעיות מוכרות

  • ב-SignInTemplate, שימוש ב-InputSignInMethod עלול לגרום ל-NullPointerException במארח הרכב. הבעיה הזו תטופל במהדורה הבאה של הספרייה. כדי לעקוף את הבעיה, מוסיפים את השורה הבאה להגדרות Proguard של האפליקציה: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

גרסה 1.1.0-alpha01

16 ביוני 2021

התכונות androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01 וגם androidx.car.app:app-testing:1.1.0-alpha01 משוחררות. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

  • API ברמה 2: SignInTemplate ו-LongMessageTemplate חדשים שאפשר להשתמש בהם בתהליכי כניסה כשהרכב חונה.
  • רמת API 2: תמיכה חדשה באינטראקטיביות של המפה ב-NavigationTemplate
  • API ברמה 2: תמיכה חדשה בטקסט באורך משתנה, שמאפשרת לאפליקציות לספק כמה גרסאות של מחרוזת להצגה, בהתאם לגודלי המסכים ברכב.
  • במדריך הפיתוח וב-Javadoc של הספרייה מפורט מידע נוסף והנחיות עיצוב לשימוש בתכונות האלה במארחים ברכב שתואמים ל-API ברמה 2.

שינויים ב-API

  • כל שיטות הממשק של *Callback הוגדרו כברירת מחדל, ושם השדה OnRequestPermissionsCallback השתנה ל-OnRequestPermissionsListener (Ib3ec9)
  • עודכנו הכיתות של androidx.car.app.hardware כדי להסיר בוני ופרמטר כיתות מיותרים. (I67beb)
  • נוספו כיתות androidx.car.app.hardware לגישה לנתונים ספציפיים לרכב, כמו דלק, סוללה ומהירות. (Iff3c9)
  • הוספת תמיכה ב-ActionStrip בתאריך MessageTemplate (Ida657)
  • setLoading נוסף לקבוצה MessageTemplate. (I2a4b5)
  • שינית את השם של ConnectionToCar ל-CarConnection (Ife9bd)
  • שינוי NavigationTemplate כך שיחזיר PanModeDelegate מפורש (I13877)
  • סדר הפרמטרים עודכן עבור CarContext.requestPermissions‏ (Ib890a)
  • מפתח המטא-נתונים עודכן כדי להגדיר את רמת ה-API המינימלית של הרכב כ-androidx.car.api.minCarApiLevel (Ib0d41)
  • יצירה של ממשק API שמאפשר לצפות בסטטוס החיבור של הרכב (Ifc935)
  • הוספנו תמיכה בהגדרת מתג ל-Action, והוספנו את הסוג Action של מצב הפסיעה (Ica6af)
  • נוצר CarNotificationManager כדי לתמוך בשליחת התראות ברכב (I10d7a)
  • נוספה ConstraintManager כדי לספק מגבלות על רשימות מהמארח (I8690e)
  • נוספו API למצב הזזה ו-API לסרגל הפעולות במפה ב-NavigationTemplate (I77aa6)
  • הוספנו API לתנועה ומקיפ של מפה ב-SurfaceCallback לאפליקציות ניווט (Id5e9d)
  • הערך של CarAppApiLevel עודכן ל-2 (Ic1540)
  • נוספה האפשרות לבקש הרשאות מ-CarAppService (I5421e)
  • הוספה של הערה RequiresCarApi(2) ל-API עם טקסטים מרובים (Iacb62)
  • מותר להשתמש בכמה וריאנטים של טקסט בשם התבנית של חצי הרשימה (Ib8df7)
  • נוספה LongMessageTemplate חדשה (נדרשת רמה 2 של Car API) (Ic5cee)

תיקוני באגים

  • עדכנו את הדרישות לגבי גודל התמונה בהתאם למסכים גדולים יותר ברכב (I116dc)
  • אסור להוסיף יותר מ-2 פעולות בגוף התבנית (I32157)
  • מוודאים שכל היצירה של PendingIntent בספריית האפליקציות ברכב מגדירה דגלים. (If84fe, ‏ b/186394900)
  • עדכון javadoc כדי לאפשר שינויים בטקסט של Row במהלך רענון (If3f9c)
  • androidx.activity:activity:1.2.0 הוא עכשיו יחסי תלות ב-API (Id1cb9)
  • שינינו את SignInTemplate ו-LongMessageTemplate כך שיחייבו פעולות לחנייה בלבד בגוף ההודעה, ועדכנו את המסמכים כדי לציין שהן יוצגו רק כשהרכב בחנייה (Iddaa9)
  • תוקנה חריגה שמתרחשת כשמעבירים Screen במהלך ההתחלה (Ifcf40, ‏ b/184664896)
  • מותר להשתמש בצבע טקסט בהתאמה אישית ב-ForegroundCarColorSpan (I69e59)
  • תוקנה בעיה שבה ON_DESTROY ב-Session נצפה אחרי ON_DESTROY של Screen (I52e01, ‏ b/183696617)
  • עדכון של javadoc לגבי המקרים שבהם מותר להגדיר את הזמן שנותר ל-TravelEstimate לזמן לא ידוע. (I99610, ‏ b/183632456)
  • עודכנו Action כדי לתמוך ב-ForegroundColorSpan בכותרת ובכל צבע רקע בהתאמה אישית (I578e4)
  • לא להריץ את NavigationManagerCallback#onStopNavigation אם פונקציית הקריאה החוזרת נמחקת לפני שהמבצע מופעל (I7fc5e, ‏ b/181143772)
  • תוקנה בעיה שבה האפליקציה נדרשת להגדיר באופן מפורש תלות ב-lifecycle-common-java8‏ (I8b8c8)

בעיות מוכרות

  • ב-SignInTemplate, המקלדת שמופיעה במסך מציגה סמל 'חיפוש' במקום סמל 'Enter' כשהמשתמש רוצה לאשר את הקלט. כפתרון זמני, המשתמשים יכולים לגשת למקלדת הטלפון שמופעל כששדה הקלט נמצא בחזית.
  • ב-Android Auto בגרסה 6.5, יכול להיות שהקריאות החוזרות (callbacks) של התנועות לזזוג ולהגדלת התצוגה ב-SurfaceCallback יופעלו באופן שגוי לגבי תנועות מגע מסוימות.

בדיקת אפליקציות לרכב, גרסה 1.0.0

גרסה 1.0.0-alpha01

24 במרץ 2021

androidx.car.app:app-testing:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את ההצהרות האלה.

זוהי הגרסה הראשונה של Jetpack לספריית הבדיקה שהקוד שלה היה סגור בעבר. בדוגמאות שלנו מוסבר איך להשתמש בספרייה הזו בבדיקות.

תכונות חדשות

  • הבקרים של כיתות המודל הוסרו. פונקציות ה-getter של המודלים הן עכשיו חלק ממסוף ה-API הציבורי, שמאפשר לאמת ערכים שהוגדרו ב-builders.
  • ה-CarAppServiceController הקודם הוחלף ב-SessionController החדש לצורך בדיקת הלוגיקה שקשורה למשך החיים של החיבור ל-hots.

גרסה 1.0.0

גרסה 1.0.0

21 באפריל 2021

androidx.car.app:app:1.0.0 משוחרר. גרסה 1.0.0 כוללת את ההצהרות האלה.

תכונות עיקריות בגרסה 1.0.0

  • בתחילת אפריל הודענו שאפשר להתחיל לפרסם אפליקציות בערוץ הייצור באמצעות androidx.car.app:app:1.0.0-rc01. גרסת 1.0.0 של Car App Library יציבה עכשיו ותואמת באופן מלא ל-Android Auto מגרסה 6.1 ואילך.
  • במדריך הפיתוח מוסבר איך ליצור אפליקציות ניווט, חניה וטעינה ל-Android Auto באמצעות הספרייה.

תיקוני באגים

  • תוקנה חריגה שמתרחשת כשיוצרים אירוע Screen במהלך ההפעלה (70aae1, ‏ b/184664896)
  • תוקנה בעיה שבה ON_DESTROY ב-Session נצפה אחרי ON_DESTROY של Screen (0ceecb, ‏ b/183696617)

גרסה 1.0.0-rc01

24 במרץ 2021

androidx.car.app:app:1.0.0-rc01 משוחרר. גרסה 1.0.0-rc01 כוללת את ההוספות האלה.

תיקוני באגים

  • תוקן באג של תנאי מרוץ שבו NavigationManagerCallback#onStopNavigation הופעל אחרי שהקריאה החוזרת (callback) נמחקה. זה קורה אם הקריאה החוזרת נמחקה לפני שהמבצע של הקריאה החוזרת הופעל בפועל (I7fc5e, ‏ b/181143772)
  • תוקנה בעיה שבה האפליקציה נדרשה להגדיר באופן מפורש תלות ב-lifecycle-common-java8 (I8b8c8)
  • תוקנה שגיאת NullPointerException שהופיעה כשהאפליקציה קיבלה קריאה מסוג stopNavigation אחרי שהיא כבר הסירה שיחה חוזרת (Ib8b89, ‏ b/181143772)
  • שיפורים כדי שלא לשלוח קריאות לאפליקציה אם מחזור החיים שלה לא נמצא לפחות במצב CREATED (I86965, ‏ b/179800224, ‏ b/177921120)
  • תוקנה בעיה שבה גרם ל-ANR במארח גרסת API מינימלית לא חוקית שצוינה במניפסט של האפליקציה. (Iffedd, ‏ b/174231592)

גרסה 1.0.0-beta01

24 בפברואר 2021

androidx.car.app:app:1.0.0-beta01 משוחרר. גרסה 1.0.0-beta01 כוללת את ההצהרות האלה.

זוהי הגרסה הראשונה של Jetpack לספריית המקור שסגורה בעבר, והיא תואמת ל-Android Auto מגרסה 6.1 ואילך. במדריך הפיתוח מוסבר איך יוצרים אפליקציות לרכב באמצעות הספרייה.

תכונות חדשות

תיקוני באגים

  • תוקנה בעיה שבה Screen הלא נכון חודש כשהמסכים נפתחים ברצף. (b/177590791)