اپلیکیشن خودرو

برنامه‌های قالب‌بندی‌شده برای اندروید اتو و سیستم عامل اندروید اتوموتیو بسازید.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۱۹ نوامبر ۲۰۲۵ ۱.۷.۰ - - ۱.۸.۰-آلفا۰۳

اعلام وابستگی‌ها

برای افزودن وابستگی به کتابخانه Car App، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.

وابستگی‌های مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.car.app:app:1.7.0"

    // For Android Auto specific functionality
    implementation "androidx.car.app:app-projected:1.7.0"

    // For Android Automotive specific functionality
    implementation "androidx.car.app:app-automotive:1.7.0"

    // For testing
    testImplementation "androidx.car.app:app-testing:1.7.0"
}

کاتلین

dependencies {
    implementation("androidx.car.app:app:1.7.0")

    // For Android Auto specific functionality
    implementation("androidx.car.app:app-projected:1.7.0")

    // For Android Automotive specific functionality
    implementation("androidx.car.app:app-automotive:1.7.0")

    // For testing
    testImplementation("androidx.car.app:app-testing:1.7.0")
}

برای اطلاعات بیشتر در مورد وابستگی‌ها، به «افزودن وابستگی‌های ساخت» مراجعه کنید.

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه ۱.۸

نسخه ۱.۸.۰-آلفا۰۳

۱۹ نوامبر ۲۰۲۵

androidx.car.app:app-*:1.8.0-alpha03 منتشر شد. نسخه 1.8.0-alpha03 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • یک تصویر به ردیف‌ها اضافه شد که موارد استفاده جدید لیست را فعال می‌کند.
  • برای امکان فهرست‌بندی الفبایی متفاوت برای شتاب‌دهنده‌های لیست SectionedItemTemplate#alphabeticalIndexingStrategy را اضافه کنید.

تغییرات API

  • یک endImageType برای endImages در ردیف‌ها اضافه شد ( I8865b )
  • اضافه کردن SectionedItemTemplate#alphabeticalIndexingStrategy . این جایگزینی برای #isAlphabeticalIndexingAllowed است و به توسعه‌دهندگان گزینه‌های بیشتری برای فهرست‌بندی الفبایی می‌دهد. ( Ia164d , b/410092683 )
  • پشتیبانی از یک تصویر پایانی را به یک ردیف برنامه ماشین اضافه کنید. ( If93f0 )
  • CarIcon MediaPlayback برای ساده‌سازی استفاده از اکشن استاندارد MediaPlayback اضافه شد. ( Ib6cb7 )

رفع اشکالات

نسخه ۱.۸.۰-آلفا۰۲

۱۸ ژوئن ۲۰۲۵

androidx.car.app:app-*:1.8.0-alpha02 منتشر شد. نسخه 1.8.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • پشتیبانی از Action.MEDIA_PLAYBACK که یک نشانگر را بر اساس وضعیت پخش رسانه نمایش می‌دهد، اضافه شد.
  • پشتیبانی از کنترل موقعیت اسکرول کاربر هنگام به‌روزرسانی SectionedItemTemplate اضافه شد.

تغییرات API

  • پشتیبانی برای ذخیره موقعیت اسکرول کاربر در SectionedItemTemplate بین به‌روزرسانی‌ها اضافه شد. ( Ia4c51 )
  • عملکرد MEDIA_PLAYBACK به‌روزرسانی شد تا برای عملکرد انتهای ردیف فعال شود ( I05cc4 )
  • یک نوع اقدام جدید اضافه کنید ( I6cc5a )
  • CarAppExtender#addAction(Action) را اضافه کنید تا هر نوع عملی بتواند به CarAppExtender اضافه شود. ( Idc4d7 )
  • قالب SectionedItemTemplate برای API 8 و بالاتر قابل دسترسی شد. ( I9a079 )

نسخه ۱.۸.۰-آلفا۰۱

۲۰ مه ۲۰۲۵

androidx.car.app:app-*:1.8.0-alpha01 منتشر شد. نسخه 1.8.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

تمام قابلیت‌ها موقتاً فقط در اندروید اتو در دسترس هستند. همین APIها در سراسر AAOS نیز مورد استفاده قرار خواهند گرفت.

  • دسته بندی رسانه برای ایجاد برنامه سفارشی، به عنوان جایگزینی برای برنامه های مبتنی بر MediaBrowse اضافه شد
  • الگوی پخش اضافه شده که امکان کنترل اقدامات برتر در طول نمای پخش رسانه را فراهم می‌کند (فقط برای برنامه‌های رسانه در دسترس است)
  • پشتیبانی کامل از الگوی آیتم‌های بخش‌بندی‌شده در اندروید اتو اضافه شد که امکان ترکیب زیربخش‌های ساخته‌شده از لیست‌ها/شبکه‌ها را فراهم می‌کند.
  • اندازه خیلی بزرگ به عنوان یک اندازه اضافی برای آیتم‌های شبکه‌ای اضافه شد.

تغییرات API

  • اضافه کردن یک گزینه اندازه اضافی برای آیتم‌های شبکه‌ای ( I35b58 )
  • دسته‌بندی و مجوز برنامه‌های رسانه‌ای را به کتابخانه برنامه‌های خودرو ( I8e100 ) اضافه می‌کند.
  • API جدیدی برای برنامه‌ها اضافه شد تا تشخیص دهند که آیا دسته رسانه CarAppLibrary پشتیبانی می‌شود یا خیر ( Ic4b08 )
  • OnItemVisibilityChangeListener به بخش اضافه شد. ( I2c2fd )
  • Mileage#getOdometerKilometers اضافه شد و Mileage#getOdometerMeters منسوخ شد ( Ic91af )

رفع اشکالات

  • رفع خطای تایپی در Javadoc مربوط به CarIcon.setTint ( Iabd72 )
  • مستندات Row.Builder#setNumericDecoration به‌روزرسانی شد تا نشان دهد که چگونه ۱ عمل + تزئین عددی پشتیبانی نمی‌شود؛ با این حال ۰ یا ۲ عمل + تزئین عددی پشتیبانی می‌شود. ( Ic0b08 )
  • فیلدی برای رنگ پس‌زمینه آیکون نشان برای آیتم‌های شبکه‌ای اضافه شد. ( I2b6ae )

نسخه ۱.۷

نسخه ۱.۷.۰

۱۶ ژوئیه ۲۰۲۵

androidx.car.app:app-*:1.7.0 منتشر شد. نسخه ۱.۷.۰ شامل این کامیت‌ها است.

  • این اولین نسخه پایدار است که شامل رفع اشکال CVE-2024-10382 وصله شده در beta03 است. اگر از نسخه پایین‌تر از 1.7-beta03 استفاده می‌کنید، لطفاً برای استفاده از این نسخه، به‌روزرسانی کنید.

نسخه ۱.۷.۰-rc01

۱۵ ژانویه ۲۰۲۵

androidx.car.app:app-*:1.7.0-rc01 بدون هیچ تغییر قابل توجهی نسبت به نسخه بتا 03 منتشر شده است. نسخه 1.7.0-rc01 شامل این کامیت‌ها است.

  • این اولین RC است که شامل رفع آسیب‌پذیری CVE-2024-10382 وصله شده در beta03 است. اگر از نسخه پایین‌تر از 1.7-beta03 استفاده می‌کنید، لطفاً برای استفاده از این نسخه، به‌روزرسانی کنید.

نسخه ۱.۷.۰-بتا۰۳

۱۳ نوامبر ۲۰۲۴

یک آسیب‌پذیری امنیتی و سایر رفع اشکالات عمومی برطرف شد. اگر از نسخه پایین‌تری استفاده می‌کنید، لطفاً برای استفاده از این نسخه، به‌روزرسانی کنید .

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 )
  • سازنده‌ی خالی Builder را در ConversationItem منسوخ کنید و آن را با سازنده‌ای که پارامترهای مورد نیاز را می‌گیرد جایگزین کنید. همچنین بررسی برای محافظت در برابر پیام‌های تهی اضافه می‌کند. ( Ic8221 )

رفع اشکالات

  • مطمئن شوید که نقشه PlaceList از عنوان سربرگ رشته‌ای (فقط متنی) استفاده می‌کند. ( Ic992f )
  • این کتابخانه اکنون از حاشیه‌نویسی‌های nullness از نوع JSpecify استفاده می‌کند که از نوع type-use هستند. توسعه‌دهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش‌فرض است که از نسخه 2.1.0 کامپایلر کاتلین شروع می‌شود). ( Ib5367 ، b/326456246 )

نسخه ۱.۷.۰-بتا۰۲

۱۸ سپتامبر ۲۰۲۴

androidx.car.app:app-*:1.7.0-beta02 منتشر شد. نسخه 1.7.0-beta02 شامل این کامیت‌ها است.

تغییرات API

  • اضافه کردن KEY_ROOT_HINT_MEDIA_HOST_VERSION اضافی ( I8796b )
  • کلاس TabContents.Api8Builder را با سازنده @ExperimentalCarApi در کلاس TabContents.Builder ( I26fbe ) جایگزین کنید.
  • افزودن اکشن اینتنت و موارد اضافی برای CarMediaApp ( I50782 )
  • APIهای پیام‌رسانی را به عنوان غیرآزمایشی علامت‌گذاری کنید ( I0b070 )
  • اضافه کردن بارگذاری از راه دور آیتم‌ها به SectionedItemTemplate (اجازه می‌دهد لیست‌های طولانی بدون از کار افتادن بارگذاری شوند) ( I0d122 )
  • SectionedItemTemplate به لیست قالب‌های پشتیبانی‌شده درون TabTemplate در API 8 اضافه کنید. ( Idc5d6 )

رفع اشکالات

  • حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدل‌سازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخه‌ها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به D8 نسخه 8.1 یا بالاتر به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( I9496c ، b/345472586 )

نسخه ۱.۷.۰-بتا۰۱

۲۶ ژوئن ۲۰۲۴

androidx.car.app:app-*:1.7.0-beta01 منتشر شد. نسخه 1.7.0-beta01 شامل این کامیت‌ها است. ویژگی‌ها همان ویژگی‌های منتشر شده در alpha01 هستند که در زیر تکرار می‌شوند:

ویژگی‌های جدید

  • نقشه با محتوا: الگوی جدید یک بوم نقشه به علاوه یک الگوی محتوا، که در حال حاضر می‌تواند لیست / شبکه / صفحه / پیام باشد.
    • RoutePreview ، PlaceListNavigation و MapTemplate اکنون منسوخ شده‌اند. قالب‌ها به کار خود ادامه خواهند داد.
    • برنامه‌های نمونه به‌روزرسانی شده‌اند تا به جای الگوهای منسوخ‌شده، میزان استفاده MapWithContent را نشان دهند.
  • مورد مکالمه: رابط‌های برنامه‌نویسی کاربردی (API) جدید برای نمایش مکالمات (پیام فوری، پیامک) و خوانش دستیار در خودرو.
  • ابعاد خودرو: رابط برنامه‌نویسی کاربردی (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 )

نسخه ۱.۷.۰-آلفا۰۲

۱۷ آوریل ۲۰۲۴

androidx.car.app:app-*:1.7.0-alpha02 منتشر شد. نسخه 1.7.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • پرچم‌های منسوخ‌شده برای قالب‌های مبتنی بر نقشه اضافه شدند که قالب MapWithContent از آن‌ها برای پیشرفت استفاده خواهد کرد.

تغییرات API

  • منسوخ کردن MapTemplate ، RoutePreviewNavigationTemplate ، PlaceListNavigationTemplate قدیمی و تشویق به استفاده از MapWithContentTemplate جدید ( Ib0a08 )

نسخه ۱.۷.۰-آلفا۰۱

۳ آوریل ۲۰۲۴

androidx.car.app:app-*:1.7.0-alpha01 منتشر شد. ما طرح نسخه‌بندی کتابخانه خود را برای مطابقت با نسخه فعال CarApi تغییر داده‌ایم. این کار برای کاهش سردرگمی در طرح نامگذاری بر اساس بازخورد توسعه‌دهندگان است. در نتیجه، ما نسخه‌های 1.5 / 1.6 را مستقیماً به نسخه 1.7 منتقل خواهیم کرد. نسخه 1.7.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • نقشه با محتوا : قالب جدیدی به نام MapWithContent که از List / Grid / Pane / Message به عنوان محتوا درون نقشه پشتیبانی می‌کند.
    • قالب‌های RoutePreview ، PlaceListNavigation و Map اکنون منسوخ شده‌اند.
    • برنامه‌های نمونه به‌روزرسانی شده‌اند تا عملکرد قالب‌های منسوخ‌شده را با استفاده از MapWithContent نشان دهند.
  • مورد مکالمه : API های جدید برای نمایش مکالمات (پیام فوری، پیامک) و خوانش دستیار در خودرو.
  • ابعاد خودرو : 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 )
  • حذف الزام سطح ۷ برای APIهای آزمایشی: دریافت‌کننده‌ها/تنظیم‌کننده‌های اندازه و شکل تصویر آیتم Badge، GridTemplate ، متدهای GridItem برای دریافت/تنظیم Badge. ( Id71eb )
  • منسوخ کردن title ، headerAction ، actionStrip در PaneTemplate ، اضافه کردن پشتیبانی Header جدید ( I23154 )
  • تله‌متری مرکز رسانه از BroadcastReceiver به Browse Custom Action تغییر یافت. ( I4185f )
  • پشتیبانی از ویژگی Header در MessageTemplate اضافه شد. پشتیبانی از ActionStrip ، headerAction و title منسوخ شد. ( Ie2de8 )
  • تغییر میزان دید ثابت هشدار ( Icf8a8 )
  • ویژگی isLoading از الگوی والد ( I651e6 ) حذف کنید.
  • موارد اضافی را برای اطلاع‌رسانی به برنامه‌های رسانه‌ای از پارامترهای اصلی رابط کاربری اضافه کنید ( I85ca2 )
  • افزودن قابلیت تجزیه و تحلیل مرکز رسانه به MediaExtensions ( I7ce28 )
  • گزینه‌ای برای تصویر بسیار کوچک در ردیف‌ها اضافه شد. ( I72c03 )

رفع اشکالات

  • javadoc مربوط به ConversationItem را به‌روزرسانی کنید تا مشخص شود پیام‌ها باید به ترتیب از قدیمی‌ترین به جدیدترین مرتب شوند. ( I77a2a )
  • به‌روزرسانی منطق کوتاه‌سازی ListTemplate برای حذف قدیمی‌ترین پیام‌ها از ConversationItem ( Ie0a61 )

نسخه ۱.۴

نسخه ۱.۴.۰

۲۹ مه ۲۰۲۴

androidx.car.app:app-*:1.4.0 منتشر شد. نسخه 1.4.0 نسخه ارتقا یافته 1.4.0-rc02 است.

تغییرات مهم از زمان ۱.۳.۰

  • رندر نقشه خوشه ابزار برای برنامه‌های ناوبری
  • قالب برگه جدید برای بهبود طرح‌بندی/کاربردپذیری برنامه
  • پشتیبانی از محدودیت‌های تطبیقی ​​وظایف
  • اقدامات ثانویه روی عناصر لیست

نسخه ۱.۴.۰-rc02

۱۳ دسامبر ۲۰۲۳

androidx.car.app:app-*:1.4.0-rc02 منتشر شد. نسخه 1.4.0-rc02 شامل این کامیت‌ها است. فقط اصلاحات جزئی

رفع اشکالات

  • javadoc مربوط به ConversationItem را به‌روزرسانی کنید تا مشخص شود پیام‌ها باید به ترتیب از قدیمی‌ترین به جدیدترین مرتب شوند ( I77a2a )
  • به‌روزرسانی منطق کوتاه‌سازی ListTemplate برای حذف قدیمی‌ترین پیام‌ها از ConversationItem ( Ie0a61 )

نسخه ۱.۴.۰-rc01

۱ نوامبر ۲۰۲۳

androidx.car.app:app-*:1.4.0-rc01 بدون هیچ تغییر قابل توجهی منتشر شده است. نسخه 1.4.0-rc01 شامل این کامیت‌ها است.

نسخه ۱.۴.۰-بتا۰۲

۲۰ سپتامبر ۲۰۲۳

androidx.car.app:app-*:1.4.0-beta02 منتشر شد. نسخه 1.4.0-beta02 شامل این کامیت‌ها است. این تقریباً مشابه beta01 است، اما نیاز compileSdk را به 33 کاهش می‌دهد.

رفع اشکالات

  • رفع اشکالی که باعث می‌شد صفحات بارگذاری در تب‌ها به درستی نمایش داده نشوند. ( cae860 )

نسخه ۱.۴.۰-بتا۰۱

۹ آگوست ۲۰۲۳

androidx.car.app:app-*:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 شامل این کامیت‌ها است.

توجه: نسخه ۱.۴-بتا۰۱ به compileSdk۳۴ نیاز دارد که هنوز در مرحله توسعه است. نسخه ۱.۴-بتا۰۲ این مشکل را برطرف خواهد کرد. به عنوان یک راه حل جایگزین، می‌توانید android.suppressUnsupportedCompileSdk=34 را به فایل settings.gradle پروژه خود اضافه کنید تا به طور موقت و ایمن، هشدار را غیرفعال کنید.

ویژگی‌های جدید

تغییرات API

  • به alpha02 مراجعه کنید

نسخه ۱.۴.۰-آلفا۰۲

۲۶ ژوئیه ۲۰۲۳

androidx.car.app:app-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 شامل این کامیت‌ها است.

  • انتشار نسخه آلفا۲ به عنوان مقدمه‌ای برای انتشار نسخه بتا۱ در نظر گرفته شده است.

ویژگی‌های جدید

  • رندر نقشه در پشتیبانی از Instrument Cluster برای برنامه‌های ناوبری
  • زبانه‌ها برای برنامه‌ها اضافه شدند تا تجربه چیدمان بهبود یابد
  • گزینه‌های رندر قالب لیست/گرید اضافه شد
  • دسته بندی های جدیدی برای آب و هوا و ارتباطات اضافه شد
  • انتقال چندین API به نسخه بعدی CarApi 7

تغییرات API

  • افزودن فیلدهای چندرسانه‌ای به CarMessage ( I5aaf6 )
  • اقدامات سفارشی را به ConversationItem در کتابخانه برنامه خودرو ( Ie5ed6 ) اضافه می‌کند.
  • موارد اضافی اضافه کنید تا نشان دهید که یک آیتم رسانه‌ای با فرمت صوتی فراگیر پخش می‌شود و لوگوی فرمت محتوای آن ( Icb5bb ) را نمایش دهید.
  • نوع اقدام جدید، ActionsConstraints API را برای پشتیبانی از دکمه نوشتن اضافه کنید. ( I31661 )
  • set/getTemplate به صورت set/get ContentTemplate ( Ica036 ) ساخته شد.
  • پارامتر قالب اکنون @NonNull خواهد بود. مستندات API MapWithContentTemplate به‌روزرسانی شد ( I0f8ed )
  • تگ @ExperimentalCarApi را برای Actions در ListTemplate برای راه‌اندازی در CAL 1.4 ( I2cfcb ) حذف می‌کند.
  • تگ @ExperimentalCarApi را برای TabTemplate حذف می‌کند ( Ifcb82 )
  • حاشیه‌نویسی‌های @ExperimentalCarApi را از اقدامات و تزئینات ثانویه Row ( I8487e ) حذف کنید.
  • شناسه محتوای تب فعال را به TabTemplate اضافه می‌کند و حالت فعال را در Tabs منسوخ می‌کند ( I96932 )
  • ویژگی ItemImageShape به GridTemplate اضافه کنید ( Ibf431 )
  • ویژگی ItemSize به GridTemplate اضافه کنید، که اندازه آیتم‌های شبکه را بر اساس اندازه نسبی کوچک، متوسط ​​و بزرگ کنترل می‌کند. ( Icdb3b )
  • دسترسی API را برای توسعه‌دهندگان باز کنید تا یک کپی از پشته صفحه فعلی دریافت کنند. ( I48107 )
  • دسته بندی برنامه های آب و هوا را به کتابخانه برنامه های خودرو ( I2be44 ) اضافه می کند
  • دسته‌بندی مربوط به برنامه‌های تماس به کتابخانه برنامه‌های خودرو ( Icab33 ) اضافه شد.
  • GridItem.Builder#setBadge() با متدهای setImage() سربارگذاری شده ( Id2000 ) جایگزین شد.
  • افزودن ویژگی آیکون به نشان ( I629b2 )
  • اضافه کردن متد برای تنظیم رنگ پس‌زمینه نشان نقطه‌ای ( I6411c )
  • ویژگی Badge را به GridItem اضافه کنید تا یک نشان در بالای تصویر GridItem نمایش داده شود. ( I95de7 )
  • یک شیء آزمایشی نشان (Badge) اضافه شد که نشانه‌ای را نشان می‌دهد که روی یک تصویر نمایش داده می‌شود. ( I9878d )

نسخه ۱.۴.۰-آلفا۰۱

۲۲ فوریه ۲۰۲۳

androidx.car.app:app-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این کامیت‌ها است.

تغییرات API

  • اقدامات سطح بالا را به GridTemplate در کتابخانه برنامه خودرو ( Id0191 ) اضافه می‌کند.
  • اقدامات سطح بالا را به ListTemplate در کتابخانه برنامه خودرو ( I9efab ) اضافه می‌کند.
  • افزودن موارد اضافی برای پیوند دادن زیرنویس یا توضیحات یک رسانه به سایر رسانه ها ( Ic84bf )
  • سطح API را برای اقدامات ردیف به سطح ۶ به‌روزرسانی کنید. ( Ie0a69 )
  • اضافه کردن callback های پیام رسانی به A4C ( Ie3986 )

رفع اشکالات

  • ارجاعات جاوا داکیومنت مربوط به CarMessage که وجود ندارند را اضافه کنید. ( I5db1c )
  • نادیده گرفتن equals() و hashCode() برای ConversationItem و CarMessage ( I6fd10 )
  • بهبود اعتبارسنجی ConversationItem.mMessages (نیاز به غیر تهی، غیر خالی ( Iafc51 ))
  • اضافه کردن حاشیه‌نویسی‌های @Keep به فیلدهای ConversationItem ( I5d250 )
  • اسناد جاوا را برای تزئین ردیف و اقدامات ثانویه به‌روزرسانی کنید. ( I000b6 )

نسخه ۱.۳

نسخه ۱.۳.۰-rc01

۷ دسامبر ۲۰۲۲

androidx.car.app:app-*:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 شامل این کامیت‌ها است.

  • رفع اشکالات جزئی از نسخه بتا ۱. بدون تغییرات عمده.

نسخه ۱.۳.۰-بتا۰۱

۷ سپتامبر ۲۰۲۲

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 شامل این کامیت‌ها است.

  • برنامه‌های خودرو که با استفاده از این کتابخانه ساخته شده‌اند، اکنون می‌توانند با استفاده از API سطح ۵ (به راهنمای توسعه ما مراجعه کنید) به فروشگاه Play بروند. ویژگی‌های حاشیه‌نویسی شده با API سطح ۵ و پایین‌تر، هم با Android Auto نسخه ۸.۱+ و هم با Google Automotive App Host نسخه ۱.۴+ سازگار هستند.

ویژگی‌های جدید

علاوه بر قابلیت‌های اضافه شده در 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 ).

رفع اشکالات

نسخه ۱.۳.۰-آلفا۰۱

۲۷ ژوئیه ۲۰۲۲

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 سطح ۵ با Android Auto نسخه ۷.۹ و بالاتر سازگار هستند.

ویژگی‌های جدید

  • API سطح ۵: MapTemplate جدید که می‌تواند توسط برنامه‌های ناوبری برای نمایش پنجره یا فهرست محتوا در کنار نقشه استفاده شود ( If5826 ، If44b8 )
  • API سطح ۵: API جدید CarAudioRecord برای امکان ضبط ورودی صدا از طریق میکروفون وسیله نقلیه میزبان ( I5e71a )
  • API سطح ۵: API جدید SuggestionManager که به برنامه‌ها اجازه می‌دهد به میزبان پیشنهاد ارائه دهند ( I5c103 )
  • API سطح ۵: API Alert جدید برای نمایش اعلان‌های متنی در NavigationTemplate ( I163a7 ، I5ad70 )
  • API سطح ۵: کامپوننت‌های جدید Header و MapController برای تسهیل استفاده مجدد در قالب‌های مختلف ( If5826 )
  • androidx.car.app.category.POI به عنوان یک دسته‌بندی برای فعال‌سازی برنامه‌های POI اضافه شد (و androidx.car.app.category.PARKING و androidx.car.app.category.CHARGING منسوخ شدند) ( I59da1 )

تغییرات API

  • API سطح ۵: متد جدید onClick در رابط SurfaceCallback برای امکان تعامل با نقشه با لمس ( Ia9777 )
  • API سطح ۵: پرچم‌های جدید Action.FLAG_IS_PERSISTENT و Action.FLAG_DEFAULT برای توصیف Action ( I96318 ، I5ad70 )
  • API سطح ۵: حالت فعال/غیرفعال جدید برای کامپوننت‌های Action ، Row و Toggle (پشتیبانی میزبان از زمان انتشار نسخه ۱.۳.۰-بتا۰۱ کتابخانه ارائه می‌شود) ( Id8a09 )
  • API سطح ۵: کامپوننت جدید Header را از طریق setHeader در PlaceListNavigationTemplate.Builder و RoutePreviewNavigationTemplate.Builder ترجیح دهید، و متدهای setTitle و setHeaderAction موجود را منسوخ کنید ( I30e6a )
  • API سطح ۵: متد جدید setOnContentRefreshListner در PlaceListMapTemplate.Builder و PlaceListNavigationTemplate.Builder برای استفاده با پیاده‌سازی‌های رابط جدید OnContentRefreshListner .
  • API سطح ۵: setTripText و setTripIcon جدید در TravelEstimate.Builder برای سفارشی‌سازی کارت تخمین سفر ( Idcc6d ، Ic620d )
  • پشتیبانی از CarIconSpan ها را در عنوان PaneTemplate ( Ia1ee0 ) اضافه کنید.
  • پشتیبانی از CarIconSpan ها را در عنوان و متن یک Row اضافه کنید ( Ic1e3c )
  • ActionStrip های نقشه اکنون می‌توانند تا چهار اکشن داشته باشند ( If3522 )
  • سطح API برنامه خودرو را به ۵ ( I26b8e ) به‌روزرسانی کنید.
  • هدرها/عنوان‌ها اکنون برای PlaceListMapTemplate ، PlaceListNavigationTemplate ، RoutePreviewNavigationTemplate ، GridTemplate ، ListTemplate ، LongMessageTemplate ، MessageTemplate ، PaneTemplate و SignInTemplate ( I2078d ، Icadde ) اختیاری هستند.

رفع اشکالات

  • قوانین اندازه‌بندی تصویر PaneTemplate به‌روزرسانی شد تا به صورت یک کادر مربعی شکل باشد ( Idd72e )
  • مشکلی که در صورت تغییر پشته صفحه نمایش پس از State.DESTROYED رخ می‌داد، برطرف شد ( I3c8eb )
  • بررسی پوچی برای بازیابی آیکون برنامه اضافه شد ( I3f710 )
  • به‌روزرسانی API سخت‌افزار خودرو برای استفاده از STATUS_UNKNOWN به صورت STATUS_UNAVAILABLE ( Ic9444 )
  • قبل از ایجاد سطح ( Ice027a ) بررسی کنید که آیا صفحه نمایش وجود دارد یا خیر
  • رفع اشکال CarValue.equals() مربوط به STATUS_UNIMPLEMENTED ( I24451 )

نسخه ۱.۲

نسخه ۱.۲.۰

۹ نوامبر ۲۰۲۲

androidx.car.app:app-*:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیت‌ها است.

  • این یک نسخه پایدار است و هیچ تغییری در مقایسه با نسخه ۱.۲.۰-rc۰۱ وجود ندارد.

نسخه ۱.۲.۰-rc01

۲۳ مارس ۲۰۲۲

androidx.car.app:app-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 شامل این کامیت‌ها است.

  • این یک نسخه پایدار است و در مقایسه با v1.2.0-beta02 هیچ تغییر API وجود ندارد. ویژگی‌های آزمایشی جدیدی (سطح API ۵) اضافه شده است که برای نسخه‌های آینده Android Auto و Android Automotive در نظر گرفته شده‌اند.

رفع اشکالات

  • مشکلی که در صورت تغییر پشته صفحه نمایش پس از State.DESTROYED رخ می‌داد، برطرف شد ( I3c8eb )
  • به‌روزرسانی رابط برنامه‌نویسی کاربردی CarSensors برای نشان دادن اینکه برای AAOS ( Idd57b ) پیاده‌سازی نشده‌اند.
  • به‌روزرسانی PlaceListMapTempalte.Builder#setCurrentLocationEnabled برای نشان دادن اینکه ACCESS_COARSE_LOCATION برای ویژگی ( I510c2 ) کافی است.
  • شماره خروجی برای انواع مانورهای میدان با زاویه اختیاری شد ( Ife7d1 )

نسخه ۱.۲.۰-بتا۰۲

۲۶ ژانویه ۲۰۲۲

androidx.car.app:app-*:1.2.0-beta02 منتشر شد. نسخه 1.2.0-beta02 شامل این کامیت‌ها است.

برنامه‌های خودرویی که با این نسخه کتابخانه برای پلتفرم Android Automotive OS ساخته شده‌اند، اکنون می‌توانند در کانال آزمایشی باز Play Store منتشر شوند. برای جزئیات بیشتر به راهنمای توسعه مراجعه کنید.

ویژگی‌های حاشیه‌نویسی‌شده با API سطح ۴ و پایین‌تر، هم با Android Auto نسخه ۷.۲+ و هم با پلتفرم جدید Android Automotive OS سازگار هستند. برای اطلاع از مشکلات احتمالی، به بخش Known Issues در زیر مراجعه کنید.

تغییرات API

  • API آزمایشی setOnContentRefreshListener به قالب‌های POI اضافه شد ( I6bf22 )

رفع اشکالات

  • مشکل نشت حافظه در CarAppService هنگام جدا شدن میزبان خودرو برطرف شد. ( I5c9ca ، b/203594731 )
  • javadoc مربوط به CarAppActivity به‌روزرسانی شد تا الزامات مربوط به حالت راه‌اندازی singleTask ( Id2f95 ) را شامل شود.
  • خطای دید در هنگام رزومه را کاهش می‌دهد. ( Iff7e0 )

مشکل(های) شناخته شده

  • قابلیت ActionStrip نقشه در PlaceListNavigationTemplate و RoutePreviewNavigateTemplate در نسخه‌های بعدی Android Auto و Android Automotive OS در دسترس قرار خواهد گرفت.

نسخه ۱.۲.۰-آلفا۰۲

۱۵ دسامبر ۲۰۲۱

androidx.car.app:app-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های حاشیه‌نویسی‌شده با API سطح ۴ از حالت آزمایشی به حالت پایدار ارتقا یافته‌اند، از جمله ActionStrip های نقشه در PlaceListNavigationTemplate و RoutePreviewNavigateTemplate ، تصویر CarIcon در Pane ها، QRCodeSignInMethod و امکان تنظیم نکات رندر (مثلاً flagها) در Action ها.

ویژگی‌های جدید

  • در اندروید اتو ۷.۱+، محدودیت آیتم برای Pane از ۲ به ۴ افزایش یافته است.

تغییرات API

  • یک متد آزمایشی toString() به CarUnit اضافه شد ( I36a3b )

رفع اشکالات

  • رفع مشکلی که در CarAppPermissionActivity در صورت از کار افتادن callback رخ می‌داد ( If9823 )
  • محدودیت فهرست پیش‌فرض Pane به ۴ تغییر یافت ( I0068b )

نسخه ۱.۲.۰-آلفا۰۱

۳ نوامبر ۲۰۲۱

androidx.car.app:app-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 شامل این کامیت‌ها است.

تمام ویژگی‌های جدید v1.2.0 (API 4+) در حال حاضر به صورت آزمایشی برای نسخه‌های آینده Android Auto و Android Automotive OS در نظر گرفته شده‌اند. برای جزئیات بیشتر به راهنمای توسعه مراجعه کنید.

تغییرات API

  • رابط برنامه‌نویسی کاربردی AutomotiveCarInfo به صورت آزمایشی ساخته شد. ( Ia13e5 )
  • کتابخانه برنامه خودرو API سطح ۴ ( I2a2e7 ) اضافه شد
  • API سطح ۴: پشتیبانی از تنظیم CarIcon در Pane اضافه شد ( Ifcc12 )
  • API سطح ۴: روش ورود با کد QR اضافه شد ( Ib623e )
  • API سطح ۴: اضافه شدن set/getFlags به Action ( Ic03ab )
  • API سطح ۴: پشتیبانی از حرکت افقی و بزرگنمایی در PlaceListNavigationTemplate و RoutePreviewNavigationTemplate ( I9d8a3 ) اضافه شد.

رفع اشکالات

  • API سطح ۴: اضافه کردن مکانیزمی برای اجازه دادن به برنامه‌ها برای ارسال به‌روزرسانی‌های موقعیت مکانی به میزبان خودرو ( I3bad3 )
  • مشکلی را برطرف کنید که در آن منطق اعتبارسنجی میزبان، مجوز TEMPLATE_RENDERER را به درستی پیدا نمی‌کرد ( I62618 )

نسخه ۱.۱.۰

نسخه ۱.۱.۰

۱۵ دسامبر ۲۰۲۱

androidx.car.app:app-*:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیت‌ها است.

این یک نسخه پایدار است و هیچ تغییری در مقایسه با v1.1.0-rc01 وجود ندارد. همچنین برای جزئیات بیشتر در مورد ویژگی‌های جدید کتابخانه برنامه خودرو، به یادداشت‌های انتشار v1.2.0-alpha02 مراجعه کنید.

تغییرات مهم از زمان ۱.۰.۰

  • API سطح ۲: SignInTemplate و LongMessageTemplate که می‌توانند برای جریان‌های ورود به سیستم هنگام پارک شدن وسیله نقلیه استفاده شوند.
  • API سطح ۲: پشتیبانی از تعامل نقشه در NavigationTemplate
  • API سطح ۲: پشتیبانی از متن با طول چندگانه که به برنامه‌ها اجازه می‌دهد بسته به اندازه صفحه نمایش خودرو، نسخه‌های مختلفی از رشته را برای نمایش ارائه دهند.
  • API سطح ۳: CarHardwareManager که می‌تواند برای جستجوی داده‌های سخت‌افزاری خودرو، مانند مدل و سازنده، سطح سوخت و سایر حسگرها استفاده شود.

نسخه ۱.۱.۰-rc01

۳ نوامبر ۲۰۲۱

androidx.car.app:app-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیت‌ها است.

این یک نسخه پایدار است و هیچ تغییر API در مقایسه با v1.1.0-beta01 وجود ندارد. ویژگی‌های آزمایشی جدید (سطح ۴ API) اضافه شده‌اند که برای نسخه‌های آینده Android Auto در نظر گرفته شده‌اند. برای جزئیات بیشتر در مورد APIهای آزمایشی، به یادداشت‌های انتشار v1.2.0-alpha01 مراجعه کنید.

نسخه ۱.۱.۰-بتا۰۱

۱ سپتامبر ۲۰۲۱

androidx.car.app:app-*:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 شامل این کامیت‌ها است.

تمام ویژگی‌های v1.1.0 (API 2+) کاملاً با Android Auto نسخه ۶.۷ و بالاتر سازگار هستند. برای جزئیات بیشتر به راهنمای توسعه مراجعه کنید.

تغییرات API

  • Manager به عنوان یک رابط عمومی حذف شد ( Ie381b )
  • قابلیت تنظیم پس‌زمینه با برند سفارشی برای درخواست مجوز اضافه شد ( I74b76 )
  • ScreenManager.getStackSize اضافه شد ( I0b16a )
  • سازنده ScreenController که به طور صریح TestCarContext ( Iefebc ) را می‌گیرد، حذف شد.

رفع اشکالات

  • بررسی سطح API هنگام ایجاد CarHardwareManager ( I48f9b ) اضافه شد
  • بررسی‌های مربوط به استفاده نامعتبر CarSpan در سراسر API ( I65ae6 ) اضافه شد.
  • مشکلی که باعث می‌شد اگر یک Screen در حین ایجاد به عنوان Finished علامت‌گذاری شود، پشته (Stack) در حالت ناقص باقی بماند، برطرف شد ( I81b13 )
  • مشکلی را برطرف کنید که در آن CarNotificationManager.notify در صورت وجود اکشن‌هایی با آیکون‌ها در CarAppExtender ( I3633d ) خطایی را برای AutomotiveOS ثبت می‌کرد.
  • یک روش handshake برای برنامه و میزبان برای ایجاد نسخه API ( I7d6f8 ) اضافه شد.

نسخه ۱.۱.۰-آلفا۰۲

۲۱ ژوئیه ۲۰۲۱

androidx.car.app:app-*:1.1.0-alpha02 منتشر شد. نسخه 1.1.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • سطح API 3: یک CarHardwareManager اضافه شده است که می‌تواند برای جستجوی داده‌های سخت‌افزاری خودرو، مانند مدل و سازنده، سطح سوخت و سایر حسگرها استفاده شود. در حال حاضر، این ویژگی فقط برای Android Auto 6.7+ در کانال تست باز در دسترس است. آزمایش این ویژگی در محیط دسکتاپ نیاز به نسخه جدیدی از Desktop Head Unit دارد که به طور جداگانه منتشر خواهد شد. برای جزئیات بیشتر در مورد زمان انتشار نسخه جدید، با صفحه Test Android apps for cars همراه باشید.
  • برای جزئیات بیشتر و دستورالعمل‌های طراحی در مورد نحوه استفاده از این ویژگی‌ها در میزبان‌های خودرو که با API سطح ۳ سازگار هستند، راهنمای توسعه و مرجع کتابخانه را دنبال کنید.

تغییرات API

  • متدهای چرخه عمر SessionController و ScreenController در یک متد moveToState واحد ( I1ed00 ) تجمیع شدند.
  • اضافه شدن CarContext#getHostInfo() ( I8977e )
  • فیلدهای منسوخ شده حذف شدند. ( I67168 )
  • SessionController و ScreenController به‌روزرسانی شدند تا سازنده‌ها (Constructors) مستقیماً نمایش داده شوند ( Iabf22 )
  • PinSignInMethod.Builder و ProviderSignInMethod.Builder ( I9f0cb ) حذف شدند.
  • برای فعال کردن استفاده از برنامه‌های قالب‌بندی‌شده «برای نتیجه» در AAOS ( I37741 )، «setCarAppResult()» اضافه شد.
  • رابط‌های CarHardware حاشیه‌نویسی شده با @MainThread . ( Ib2f85 )
  • تغییر نام OnCarDataListener به OnCarDataAvailableListener ( I518ca )
  • نام متدهای CarInfo ، Speed ، Mileage و javadoc به‌روزرسانی شدند. ( I86672 )
  • تغییر نام Toll به TollCard (کارت عوارض) ( I3e7c8 )
  • PinSignInMethod.getPin منسوخ شده حذف شد و PinSignInMethod.getPinCode ( I996ce ) جایگزین آن شده است.
  • OnInputCompletedListener حذف شد (با InputCallback جایگزین شد). ( Ib5be1 )
  • PinSignInMethod تغییر کرد تا به جای String ( I275d5 ) از CharSequence استفاده کند.

رفع اشکالات

  • رفع مشکلات Javadoc برای سخت‌افزار خودرو. ( I2abbc )

مشارکت خارجی

مشکلات شناخته شده

  • در SignInTemplate ، استفاده از InputSignInMethod ممکن است منجر به NullPointerException در میزبان car شود. این مشکل در نسخه بعدی کتابخانه برطرف خواهد شد. برای حل این مشکل، این خط را در پیکربندی Proguard برنامه خود وارد کنید: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

نسخه ۱.۱.۰-آلفا۰۱

۱۶ ژوئن ۲۰۲۱

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 سطح ۲: SignInTemplate و LongMessageTemplate جدید که می‌توانند برای جریان‌های ورود به سیستم هنگام پارک شدن وسیله نقلیه استفاده شوند.
  • API سطح ۲: پشتیبانی جدید از تعامل نقشه در NavigationTemplate
  • API سطح ۲: پشتیبانی جدید از متن با طول چندگانه که به برنامه‌ها اجازه می‌دهد بسته به اندازه صفحه نمایش خودرو، نسخه‌های مختلفی از رشته را برای نمایش ارائه دهند.
  • برای جزئیات بیشتر و دستورالعمل‌های طراحی در مورد نحوه استفاده از این ویژگی‌ها در میزبان‌های خودرو که با API سطح ۲ سازگار هستند، راهنمای توسعه و کتابخانه Javadoc را دنبال کنید.

تغییرات 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 اضافه شد و حالت pan نوع Action ( Ica6af ) اضافه شد.
  • CarNotificationManager برای پشتیبانی از ارسال اعلان در خودرو ( I10d7a ) ایجاد شد.
  • ConstraintManager برای ارائه محدودیت‌های لیست از میزبان ( I8690e ) اضافه شد.
  • حالت pan و API نوار اکشن نقشه در NavigationTemplate ( I77aa6 ) اضافه شد.
  • API پنچرگیری و زوم در SurfaceCallback برای برنامه‌های ناوبری اضافه شد ( Id5e9d )
  • CarAppApiLevel به ۲ ( Ic1540 ) به‌روزرسانی شد.
  • قابلیت درخواست مجوز از CarAppService ( I5421e ) اضافه شد.
  • حاشیه‌نویسی RequiresCarApi(2) به API چند متنی ( Iacb62 ) اضافه شد.
  • مجاز به استفاده از چندین نوع متن در عنوان الگوی نیم‌لیست ( Ib8df7 )
  • قالب جدید LongMessageTemplate اضافه شد (نیاز به API سطح ۲ خودرو دارد) ( Ic5cee )

رفع اشکالات

  • الزامات اندازه تصویر برای صفحه نمایش‌های بزرگتر خودرو به‌روزرسانی شد ( I116dc )
  • اضافه کردن بیش از ۲ اقدام در بدنه‌های قالب مجاز نیست ( 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 )
  • اگر callback قبل از اجرای executor پاک شده باشد، NavigationManagerCallback#onStopNavigation را اجرا نکنید ( I7fc5e , b/181143772 )
  • مشکلی که باعث می‌شد برنامه صراحتاً به lifecycle-common-java8 ( I8b8c8 ) وابسته باشد، برطرف شد.

مشکلات شناخته شده

  • در SignInTemplate ، وقتی کاربر می‌خواهد ورودی را تأیید کند، صفحه‌کلید روی صفحه، به جای نماد «ورود»، نماد «جستجو» را نشان می‌دهد. به عنوان یک راه حل، کاربران می‌توانند به صفحه‌کلید تلفن دسترسی داشته باشند که وقتی فیلد ورودی در حالت فوکوس قرار می‌گیرد، فعال می‌شود.
  • در نسخه ۶.۵ اندروید اتو، ممکن است فراخوانی‌های pan و zoom در SurfaceCallback برای برخی از حرکات لمسی به اشتباه فراخوانی شوند.

Car App Testing Version 1.0.0

نسخه ۱.۰.۰-آلفا۰۱

۲۴ مارس ۲۰۲۱

androidx.car.app:app-testing:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

This is the first Jetpack release of the previously closed source testing library. Refer to our samples on how to use this library in your tests.

ویژگی‌های جدید

  • The controllers for the model classes have been removed. Model getters are now part of the public API surface which allows for validating values that were set in the builders.
  • The previous CarAppServiceController has been replaced by the new SessionController for testing logic related to the lifetime of the connection to the hots.

نسخه ۱.۰.۰

نسخه ۱.۰.۰

۲۱ آوریل ۲۰۲۱

androidx.car.app:app:1.0.0 is released. Version 1.0.0 contains these commits.

Major features of 1.0.0

  • In early April, we announced that apps can start publishing to the production channel using androidx.car.app:app:1.0.0-rc01 . Car App Library v1.0.0 is now stable and is fully compatible with Android Auto 6.1 and above.
  • Follow the development guide for details on how to build navigation, parking, and charging apps for Android Auto using the library.

رفع اشکالات

  • Fixed an exception that occurs when popping a Screen during start ( 70aae1 , b/184664896 )
  • Fixed an issue where ON_DESTROY on a Session is observed after a Screen 's ON_DESTROY ( 0ceecb , b/183696617 )

نسخه ۱.۰.۰-rc01

۲۴ مارس ۲۰۲۱

androidx.car.app:app:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.

رفع اشکالات

  • Fixed a race condition bug where NavigationManagerCallback#onStopNavigation was being called after the callback was cleared. This happened if the callback was cleared before the callback executor actually ran ( I7fc5e , b/181143772 )
  • Fixed an issue that required the app to explicitly take a dependency on lifecycle-common-java8 ( I8b8c8 )
  • Fixed a NullPointerException that was thrown when the app receives a stopNavigation call when it has already removed a callback ( Ib8b89 , b/181143772 )
  • Improvements to not dispatch calls to app if its lifecycle is not at least in a CREATED state ( I86965 , b/179800224 , b/177921120 )
  • Fixed an issue where an invalid min API specified in the app's manifest would throw, causing an ANR on the host. ( Iffedd , b/174231592 )

نسخه ۱.۰.۰-بتا۰۱

۲۴ فوریه ۲۰۲۱

androidx.car.app:app:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

This is the first Jetpack release of the previously closed source library, and is compatible with Android Auto 6.1 or above. Follow the development guide for details on how to build car apps using the library.

ویژگی‌های جدید

رفع اشکالات

  • Fixed an issue where the wrong Screen is resumed when popping screens sequentially. ( b/177590791 )