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

نسخه بتای ۶.۱

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

نسخه بتا ۶

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

نسخه بتا ۵

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

نسخه بتا ۴

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

نسخه بتا ۳

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

نسخه بتا ۲

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

نسخه بتا ۱

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

Android 17 QPR 2 Beta 6.1 (سپتامبر ۲۰۲۶)

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

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

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

مشکل شناخته‌شده در «نسخه بتای ۶.۱»

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

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

‫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 استفاده کنید.

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

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

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

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

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

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

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