یادداشت‌های انتشار

بتا ۷.۱

تاریخ انتشار ‫۱۶ اکتبر ۲۰۲۶
ساخت‌ها CP41.260831.019
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-10-05
خدمات Google Play 26.28.33

نسخه بتا ۷

تاریخ انتشار ‫۹ اکتبر ۲۰۲۶
ساخت‌ها CP41.260831.016
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-10-05
خدمات Google Play 26.28.33

نسخه بتای ۶.۱

تاریخ انتشار ‫۲۹ سپتامبر ۲۰۲۶
ساخت‌ها CP41.260831.007.A3
CP41.260831.011
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-08-05
خدمات Google Play 26.28.33

نسخه بتای ۶

تاریخ انتشار ‫۲۴ سپتامبر ۲۰۲۶
ساخت‌ها CP41.260831.007
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-08-05
خدمات Google Play 26.28.33

بتا ۵

تاریخ انتشار ‫۱۵ سپتامبر ۲۰۲۶
ساخت‌ها CP41.260828.004.A8
CP41.260828.005.A6
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-08-05
خدمات Google Play 26.28.33

بتا ۴

تاریخ انتشار ‫۲۸ اوت ۲۰۲۶
ساخت‌ها CP41.260814.003.A2
CP41.260814.003.B1
CP41.260814.003.C2
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-08-05
خدمات Google Play 26.28.33

نسخه بتای ۳

تاریخ انتشار ‫۱۴ اوت ۲۰۲۶
ساخت‌ها CP41.260731.005.A2
CP41.260731.005.B1
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-08-05
خدمات Google Play 26.26.34

بتا ۲

تاریخ انتشار ‫۳ اوت ۲۰۲۶
ساخت‌ها CP41.260717.006
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-07-05
خدمات Google Play 26.24.35

بتا ۱

تاریخ انتشار ‫۲۰ ژوئیه ۲۰۲۶
ساخت‌ها CP41.260701.005
پشتیبانی شبیه‌ساز x86 (64-bit), ARM (v8-A)
سطح وصله امنیتی 2026-07-05
خدمات Google Play 26.23.34

Android 17 QPR 2 Beta 7.1 (اکتبر ۲۰۲۶)

با تکیه بر نسخه اولیه Android 17، همچنان پلاتفرم را با اصلاحات و بهبودهایی به‌روز می‌کنیم که سپس برای دستگاه‌های پشتیبانی‌شده عرضه می‌شوند. این نسخه‌ها هر سه ماه یک‌بار ازطریق نسخه‌های پخش پلاتفرم سه‌ماهه (QPR) منتشر می‌شوند که هم به AOSP و هم به دستگاه‌های Google Pixel به‌عنوان بخشی از رونمایی ویژگی ارائه می‌شوند.

اگرچه این به‌روزرسانی‌ها شامل تغییرات میانای برنامه‌سازی کاربردی که بر برنامه تأثیر بگذارد نمی‌شود، تصاویر جدیدترین نسخه‌های ساخت بتای QPR را ارائه می‌دهیم تا بتوانید درصورت نیاز برنامه‌تان را با این نسخه‌های ساخت آزمایش کنید (برای مثال، اگر ویژگی‌های آتی وجود داشته باشد که ممکن است بر تجربه کاربری برنامه‌تان تأثیر بگذارد).

Android 17 QPR2 شامل یک نسخه جزئی کیت توسعه نرم‌افزار است. این به‌روزرسانی افزایشی هیچ تغییر رفتاری برنامه‌ریزی‌شده‌ای ندارد و نیاز به آزمایش سازگاری را به حداقل می‌رساند. می‌توانید تغییرات فعلی کیت توسعه نرم‌افزار را در گزارش تفاوت میانای برنامه‌سازی کاربردی ببینید.

مقاوم‌سازی دربرابر کلاهبرداری هدایت تماس

‫Android 17 QPR2 محدودیت‌های امنیتی جدیدی را برای هدایت تماس برنامه‌ای معرفی می‌کند تا از کاربران دربرابر کلاهبرداری محافظت کند. اکنون سیستم کدهای USSD هدایت تماس (مانند *21#) را که بااستفاده از TelephonyManager.sendUssdRequest() API اجرا می‌شوند تجزیه می‌کند و به‌طور انتخابی محدود می‌کند.

  • محدودیت میانای برنامه‌سازی کاربردی: میانای برنامه‌سازی کاربردی sendUssdRequest() دیگر برای کدهای هدایت تماس که فقط از اجازه CALL_PHONE استفاده می‌کنند دردسترس نیست. برنامه‌های استانداردی که تلاش کنند این کدها را در پس‌زمینه اجرا کنند مسدود خواهند شد و تماس برگشتی USSD_ERROR_NOT_ALLOWED دریافت خواهند کرد.
  • تأیید سیستم: برای مقابله با کلاهبرداری‌های مهندسی اجتماعی، کاربرانی که به‌طور دستی کدهای هدایت تماس را در شماره‌گیر سیستم شماره‌گیری می‌کنند، اکنون قبل‌از اجرای فرمان، کادر گفتگوی تأیید جدیدی در سطح سیستم‌عامل خواهند دید.
  • کدهای USSD غیرمرتبط با هدایت تماس: درخواست‌های USSD فعال‌کننده غیرمرتبط با هدایت تماس (مانند انتقال پول ازطریق تلفن همراه و بررسی حساب) تحت تأثیر این تغییر قرار نمی‌گیرند.
  • کاهش اثر: اگر برنامه‌تان تحت‌تأثیر قرار گرفته است، بررسی کنید که فراخوانی برگشتی ناموفق USSD_ERROR_NOT_ALLOWED را به‌درستی مدیریت کند. برای برنامه‌هایی که به راه‌اندازی هدایت تماس نیاز دارند و واجدشرایط نقش معاف‌شده نیستند، جریان خود را به استفاده از هدف ACTION_DIAL برای پیش‌تکمیل شماره‌گیر منتقل کنید تا کاربر بتواند کنش را به‌صورت دستی تأیید کند.

ارائه بهینه‌شده همه‌فرستی‌های خود

در دستگاه‌های دارای Android 17 QPR2 یا بالاتر، Android همه‌فرستی‌های خود را به‌طور کارآمدتری ارائه می‌دهد تا سلامت سیستم را بهبود بخشد. پخش خودی پخشی است (برای مثال، پخشی که با sendBroadcast() ارسال شده است) که برای آن همه گیرنده‌ها، چه در بافت ثبت شده باشند چه در مانیفست اعلام شده باشند، در همان فرایندی اجرا می‌شوند که پخش را ارسال کرده است. اگر هر گیرنده‌ای در فرایند دیگری اجرا شود، همه‌فرستی از نوع همه‌فرستی خودی نیست. سیستم، همه‌فرستی‌های خود را به فرایند ارسال برمی‌گرداند و فرایند ارسال آن‌ها را به گیرنده‌های خود در رشته اصلی تحویل می‌دهد. این کار از اینکه برنامه‌ها با ارسال مکرر پخش به خودشان، خود را در پس‌زمینه درحال اجرا نگه دارند جلوگیری می‌کند. این تغییر برای همه برنامه‌ها، صرف‌نظر از targetSdkVersion آن‌ها، اعمال می‌شود.

این تغییر به روش‌های زیر بر برنامه شما تأثیر می‌گذارد:

  • ارسال همه‌فرستی به خود اهمیت فرایندتان را افزایش نمی‌دهد و مانع از توقف فرایند ذخیره‌شده در حافظه نهان نمی‌شود.

  • اگر فرایند شما ذخیره‌شده در حافظه نهان و منجمد باشد، پخش‌های خودی که ارسال کرده است منتظر می‌مانند تا فرایند از حالت انجماد خارج شود، مثلاً وقتی کاربر به برنامه برمی‌گردد یا مؤلفه دیگری از برنامه شروع می‌شود.

  • همه‌فرستی‌های خودی که هنوز تحویل داده نشده‌اند در حافظه فرایند نگهداری می‌شوند. اگر سیستم فرایند را قبل‌از تحویل آن‌ها متوقف کند، آن‌ها ازدست می‌روند و دوباره تحویل داده نمی‌شوند.

همه‌فرستی‌هایی که گیرنده‌ای در فرایند دیگری دارند (ازجمله فرایند دیگری از همان برنامه)، همه‌فرستی‌هایی که ازطرف برنامه دیگری ارسال شده‌اند (مثلاً ازطریق PendingIntent)، و همه‌فرستی‌هایی که به نمایه کاربر دیگری ارسال شده‌اند تحت‌تأثیر قرار نمی‌گیرند.

مطمئن شوید برنامه‌تان برای انجام کار در پس‌زمینه به همه‌فرستی خودکار متکی نباشد. از همه‌فرستی‌های خودکار به‌عنوان زمان‌سنج یا سازوکار فعال نگه داشتن استفاده نکنید. برای زمان‌بندی کار پس‌زمینه، از WorkManager استفاده کنید، یا برای کارهایی که باید در زمان خاصی انجام شوند، از AlarmManager استفاده کنید. برای برقراری ارتباط در یک فرایند، به‌جای همه‌فرستی از تماس‌های مستقیم مانند تماس‌های برگشتی یا جریان‌های Kotlin استفاده کنید.

مشکل شناخته‌شده در نسخه بتا ۷.۱

کاربران Pixel 11 Pro Fold ممکن است لازم باشد «قفل‌گشایی با چهره» را دوباره ثبت کنند تا به‌درستی کار کند.

مشکلات برتر برطرف‌شده در نسخه بتا ۷.۱ (اکتبر ۲۰۲۶)

مشکلات برتر برطرف‌شده در نسخه بتا ۷ (اکتبر ۲۰۲۶)

مشکلات برتر برطرف‌شده در نسخه بتا ۶ (سپتامبر ۲۰۲۶)

مشکلات برتر برطرف‌شده در نسخه بتا ۵ (سپتامبر ۲۰۲۶)

  • با تغییر دادن نوع دستگاه بلوتوث در تنظیمات، نماد آن به‌صورت بصری به‌روزرسانی نشد. (مشکل شماره ۵۱۶۰۷۱۱۳۴)
  • مشکل پایداری سیستم که باعث بازراه‌اندازی غیرمنتظره دستگاه درطول پیمایش مداوم واسط کاربر در برنامه‌هایی با رسانه سنگین می‌شد. (مشکل شماره ۵۴۴۲۹۱۱۱۳)
  • فشار دادن دکمه‌های سخت‌افزاری میزان صدا درحین ارسال محتوای رسانه مانع از نمایش واسط کاربر لغزنده میزان صدای سیستم می‌شد. (مشکل شماره ۵۴۸۱۴۵۰۱۸)
  • مشکل پردازش نوشتار که باعث می‌شد هنگام تایپ کردن در فیلدهای جستجو، برجسته‌سازی‌های غیرمنتظره در پس‌زمینه ظاهر شود برطرف شد و مشکل مسیریابی پیمایش که مانع از باز شدن صحیح قفل «فضای خصوصی» می‌شد حل شد. (مشکل شماره ۵۴۸۲۸۵۵۹۶)
  • حالت HDR بهبودیافته با اینکه در تنظیمات کاربر خاموش شده بود، همچنان فعال بود. (مشکل شماره ۵۴۷۴۵۷۹۱۰)
  • راه‌اندازی «کیف پول Google» ازطریق میان‌بر دکمه روشن/خاموش باعث می‌شد نمایشگر لمسی از کار بیفتد. (مشکل شماره ۵۴۹۷۵۸۰۸۴)
  • «دوربین» درطول پردازش تمام‌نما ازکار می‌افتد. (مشکل شماره ۵۵۱۰۶۹۶۲۵)
  • صدای بلوتوث پس‌از تکمیل یا پاسخ دادن به تماس، دچار نویز و اعوجاج می‌شود. (مشکل شماره ۵۴۱۶۸۴۲۸۲)

مشکلات برتر برطرف‌شده در نسخه بتا ۴ (اوت ۲۰۲۶)

مشکلات برتر برطرف‌شده در نسخه بتا ۳ (اوت ۲۰۲۶)

مشکلات برتر برطرف‌شده در نسخه بتا ۱ (ژوئیه ۲۰۲۶)

  • جفت‌سازی مجدد بلوتوث پس‌از قطع اتصال از راه دور بدون اطلاع کاربر ناموفق است. (مشکل شماره ۴۱۲۵۲۴۰۵۷)
  • باوجود غیرفعال بودن اعلان‌های برنامه، کنترل‌های پخش‌کننده رسانه هنگام بیدار کردن دستگاه به‌طور خلاصه در صفحه قفل چشمک می‌زنند. (مشکل شماره ۴۸۴۶۰۷۷۰۱)
  • خرابی سیستم که باعث می‌شود دستگاه‌های Pixel هنگام فراخوانی Gemini به‌طور غیرمنتظره بازراه‌اندازی شوند. (مشکل شماره ۵۰۵۷۵۰۴۸۹)
  • شروع اشاره کشیدن و رها کردن با چند انگشت باعث شد برنامه منبع دریافت رویدادهای لمسی بعدی را متوقف کند. (مشکل شماره ۵۱۶۸۳۶۳۰۶)
  • اعلان‌ها به‌طور تصادفی در سایه اعلان نامرئی شدند تا اینکه سیستم بازراه‌اندازی شد. (مشکل شماره ۵۲۶۱۳۹۲۰۷، مشکل شماره ۵۲۲۶۵۷۰۳۴)
  • تولید کلید ML-DSA هنگام استفاده از خلاصه رشته «NONE» به‌جای ثابت کلاس با استثنا مواجه می‌شود. (مشکل شماره ۵۲۵۶۱۲۷۳۵)
  • مشکلی در AccessibilityNodeInfo.toString()‎ که در آن مرزهای پنجره به‌اشتباه بااستفاده از مرزهای صفحه‌نمایش ثبت می‌شد و باعث گمراه شدن داده‌های اشکال‌زدایی دسترس‌پذیری می‌شد. (مشکل شماره ۵۲۰۴۲۸۴۴۲)
  • جلوه‌های محو کردن واسط کاربر در سطح پنجره ارائه نشد و کلید روشن/خاموش توسعه‌دهنده «مجاز کردن محو کردن در سطح پنجره» پس‌از راه‌اندازی مجدد بازنشانی شد. (مشکل شماره ۵۲۷۳۷۶۵۶۹)