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

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

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

כדי להוסיף יחסי תלות ל-Car App Library, צריך להוסיף את המאגר של 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-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)
  • ממשק ה-API של GetHeader לא מחייב 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 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

שינויים ב-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 מכילה את ההצהרות האלה.

תכונות חדשות

בנוסף ליכולות שנוספו ב-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. נוספו תכונות ניסיוניות חדשות (רמה 5 של API) שמיועדות לגרסאות עתידיות של 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)
  • הוסרה המכונה ה-constructor של 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 יציבה עכשיו ותואמת באופן מלא ל-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)