یادداشت های انتشار اندروید 10

این صفحه ویژگی های اصلی نسخه اندروید 10 را خلاصه می کند و پیوندهایی به اطلاعات اضافی ارائه می دهد. این خلاصه ویژگی ها بر اساس مکان مستندات ویژگی در این سایت سازماندهی شده اند.

ساختن

java_sdk_library

اندروید 10 java_sdk_library را معرفی می‌کند، یک قانون ساخت جدید برای رفع مشکلات سازگاری برای کتابخانه‌های مشترک جاوا. سازندگان دستگاه‌ها می‌توانند از این مکانیسم برای کتابخانه‌های جاوای مشترک خود برای حفظ سازگاری با APIهای خود استفاده کنند.

معماری

اجزای سیستم مدولار

اندروید 10 برخی از اجزای سیستم اندروید را ماژولار می کند و آنها را قادر می سازد خارج از چرخه انتشار عادی اندروید به روز شوند. برخی از ماژول ها عبارتند از:

لایه انتزاعی سخت افزاری (HAL)

اندروید 10 پشتیبانی از HAL ها را اضافه می کند تا در صورت نداشتن کلاینت به طور خودکار خاموش شوند .

هسته

ABI

Android 10 شامل پشتیبانی از ابزارهای نظارتی جدید ABI برای کمک به مقایسه، ردیابی و کاهش تغییرات ABI هسته است که بر سازگاری با ماژول‌های هسته تأثیر می‌گذارد.

اندروید 10 همچنین یک بررسی کننده استفاده از ABI مبتنی بر نماد را معرفی می کند. جستجوگر می تواند باینری های از پیش ساخته شده قدیمی را در زمان ساخت شناسایی کند، به طوری که توسعه دهندگان کتابخانه مشترک می توانند بدانند کدام باینری های از پیش ساخته شده ممکن است با تغییرشان شکسته شوند و کدام باینری های از پیش ساخته شده باید دوباره ساخته شوند.

Android Live-Lock Daemon

Android 10 شامل Android Live-Lock Daemon (llkd) است که برای گرفتن و کاهش بن بست های هسته طراحی شده است.

vDSO32 در ARM64

اندروید 10 از استفاده از vDSO32 بر روی هسته های 64 بیتی پشتیبانی می کند که باعث افزایش 0.4 درصدی عمر باتری و سایر بهبودهای عملکرد می شود.

ورودی های fstab برای پارتیشن های نصب شده اولیه

اندروید 10 به دستگاه ها نیاز دارد که ورودی های fstab برای پارتیشن های نصب شده اولیه با استفاده از یک فایل fstab در مرحله اول ramdisk مشخص کنند.

HIDL

Offload BroadcastQueue

اندروید 10 شامل یک بارگذاری جدید BroadcastQueue به صف‌های پس‌زمینه و پیش‌زمینه موجود است. صف تخلیه دارای اولویت و رفتار مهلت زمانی مشابه صف پس‌زمینه است. برای جلوگیری از مسدود شدن صف پس‌زمینه، جایی که پخش‌های جالب‌تر یا قابل مشاهده‌تر توسط کاربر ممکن است اتفاق بیفتد، صف offload پخش BOOT_COMPLETED را مدیریت می‌کند، که بسیاری از برنامه‌ها به آن گوش می‌دهند و ممکن است مدت زیادی طول بکشد تا تکمیل شود. صف Offload در حال حاضر فقط پخش BOOT_COMPLETED را انجام می دهد، اما به طور بالقوه می تواند پخش طولانی دیگر را انجام دهد.

سرویس SystemSuspend

Android 10 رشته ای را در libsuspend که مسئول شروع تعلیق سیستم است با سرویس SystemSuspend HIDL جایگزین می کند. این پیاده سازی عملکردی معادل نسخه های قبلی را ارائه می دهد و در عین حال از مزایای زیرساخت Android HIDL بهره می برد.

safe_union در HIDL

Android 10 safe_union را معرفی می‌کند، یک نوع اتحادیه با برچسب صریح، در HIDL.

پیکربندی

ConfigStore HAL

اندروید 10 به دلیل مصرف زیاد حافظه و استفاده دشوار، ConfigStore HAL را منسوخ می‌کند و ویژگی‌های سیستم را جایگزین HAL می‌کند.

Config File Schema API

پلتفرم اندروید حاوی تعداد زیادی فایل XML برای ذخیره داده های پیکربندی است. بسیاری از فایل های XML در پارتیشن vendor هستند، اما در پارتیشن system خوانده می شوند. در این مورد، طرح فایل XML به عنوان رابط بین دو پارتیشن عمل می کند، و بنابراین طرحواره باید به صراحت مشخص شود و باید به شیوه ای سازگار با عقب تکامل یابد. قبل از اندروید 10، این پلتفرم مکانیسم‌هایی برای نیاز به تعیین و استفاده از طرحواره XML یا جلوگیری از تغییرات ناسازگار در این طرح ارائه نمی‌کرد. اندروید 10 این مکانیسم را به نام Config File Schema API ارائه می‌کند.

ویژگی های سیستم به عنوان API

ویژگی‌های سیستمی که از طریق پارتیشن‌ها به آن‌ها دسترسی پیدا می‌کنند، در فایل‌های توضیحات sysprop شمات می‌شوند و APIها برای دسترسی به ویژگی‌ها به عنوان توابع مشخص برای C++ و کلاس‌ها برای جاوا تولید می‌شوند.

شیء رابط فروشنده (VINTF).

VINTF

تغییرات VINTF در اندروید 10 عبارتند از:

  • منسوخ شدن برچسب های نسخه AVB
  • افزودن اطلاعات هسته در بسته های OTA
  • ساخت ODM به طور رسمی آشکار می شود
  • افزودن ماتریس سازگاری محصول
  • ارتباط یک ورودی مانیفست با یک ماژول HAL در سیستم ساخت

بوت لودر

رامدیسک

در اندروید 10، سیستم فایل ریشه دیگر در ramdisk.img گنجانده نمی شود و در عوض در system.img ادغام می شود.

ساخت پارتیشن های ODM

اندروید 10 شامل پشتیبانی از ساخت پارتیشن های odm با استفاده از سیستم ساخت اندروید است. می‌توانید از یک پارتیشن /odm جداگانه برای سفارشی‌سازی‌ها استفاده کنید، که به شما امکان می‌دهد از یک تصویر فروشنده برای چندین SKU سخت‌افزاری استفاده کنید. این به تولیدکنندگان طراحی اصلی (ODM) امکان می‌دهد تا بسته‌های پشتیبانی برد فروشنده (BSPs) سیستم روی تراشه (SoC) را برای دستگاه‌های خاص خود (بردهایشان) سفارشی کنند. آن‌ها می‌توانند ماژول‌های هسته را برای مؤلفه‌های مخصوص برد، دیمون‌های مخصوص برد یا ویژگی‌های خودشان بر روی لایه‌های انتزاعی سخت‌افزاری (HAL) پیاده‌سازی کنند. آنها همچنین ممکن است اجزای SoC را جایگزین یا سفارشی کنند.

نسخه هدر تصویر را بوت کنید

اندروید 10 هدر تصویر بوت را به نسخه 2 به روز می کند که شامل بخشی برای ذخیره تصویر حباب درخت دستگاه (DTB) است. تست‌های Android 10 VTS تأیید می‌کنند که همه دستگاه‌هایی که با Android 10 راه‌اندازی می‌شوند از هدر تصویر بوت نسخه 2 استفاده می‌کنند و یک تصویر DTB معتبر به‌عنوان بخشی از تصاویر راه‌اندازی/بازیابی دارند.

بازیابی تصاویر برای دستگاه های غیر A/B

در اندروید 9 و بالاتر، تصویر بازیابی دستگاه باید حاوی اطلاعاتی از تصویر همپوشانی باشد . سازندگان دستگاه می توانند از DeviceTree یا Advanced Configuration and Power Interface (ACPI) برای توصیف همه دستگاه های غیرقابل کشف استفاده کنند. Android 10 و بالاتر شامل پشتیبانی از معماری هایی است که به جای DeviceTree blob برای پوشش (DTBO) از ACPI استفاده می کنند.

AIDL پایدار

Android 10 پشتیبانی از زبان تعریف رابط اندروید (AIDL) را اضافه می کند، روشی جدید برای پیگیری رابط برنامه کاربردی (API)/رابط باینری برنامه (ABI) ارائه شده توسط رابط های AIDL.

فست بوت را به فضای کاربری منتقل کنید

اندروید 10 با جابجایی اجرای fastboot از بوت لودر به فضای کاربری، پشتیبانی از پارتیشن‌های قابل تغییر اندازه را اضافه می‌کند.

نمایش دادن

پخش ویدئو HDR

اندروید 10 از پخش HDR10، VP9 و HDR10+ پشتیبانی می‌کند.

طبقه بندی متن

طبقه بندی متن از تکنیک های یادگیری ماشینی برای کمک به توسعه دهندگان در طبقه بندی متن استفاده می کند. اندروید 10 دو روش را به TextClassifier API معرفی می کند: suggestConversationActions و detectLanguage . روش suggestConversationActions پاسخ‌ها و اقدامات پیشنهادی را از یک مکالمه مشخص می‌کند و روش detectLanguage زبان متن را تشخیص می‌دهد.

پشتیبانی از رندر فونت Zawgyi

Zawgyi محبوب ترین فونت در میانمار است. اندروید 9 و پایین‌تر از رندر Zawgyi پشتیبانی نمی‌کند زیرا با یونیکد سازگار نیست . اندروید 10 با گنجاندن فونت یونیکد که قادر به رندر کردن یونیکد برمه ای و زاوگی با هم است، این مشکل را برطرف می کند. برای پشتیبانی از رندر فونت Zawgyi در دستگاه‌هایی که با Android 10 راه‌اندازی می‌شوند، هیچ کار پیاده‌سازی لازم نیست. اگر دستگاه‌های شما یک پیاده‌سازی سفارشی برای پشتیبانی از Zawgyi دارند، می‌توانید:

  • آن تغییرات را برگردانید و از روش پشتیبانی شده از پلتفرم استفاده کنید.
  • فونت رایج Zawgyi را در سیستم خود نگه دارید و از کد محلی my-qaag در fonts.xml خود استفاده کنید. برای اطلاعات بیشتر، به یادداشت‌های انتشار Unicode CLDR در Zawgyi (Qaag) مراجعه کنید.

محدودیت های پنهان کردن آیکون های برنامه

اندروید 10 توانایی برنامه‌ها برای مخفی کردن نمادهای راه‌انداز خود را محدود می‌کند. اگر یک برنامه فعالیت راه‌انداز را فعال نکرده باشد، سیستم یک فعالیت ترکیبی را در راه‌انداز نمایش می‌دهد. این فعالیت ترکیبی صفحه جزئیات برنامه را در تنظیمات سیستم نشان می دهد.

برای اطلاعات بیشتر در مورد منطق مورد استفاده برای نمایش نمادهای برنامه، از جمله انواع برنامه هایی که نمادهای برنامه آنها نشان داده نمی شود، به مستندات getActivityList() در مرجع API مراجعه کنید.

تنظیمات

برای بهبود دسترس‌پذیری، Android 10 شامل تنظیمات زمان‌بندی قابل تنظیم توسط کاربر است. تغییرات API و تنظیمات با Android 10 ارائه می‌شوند. اگر تنظیمات خود را سفارشی می‌کنید، مطمئن شوید که این ویژگی پشتیبانی می‌شود. اگر عناصر رابط کاربری دارید که در دستگاه شما زمان اتمام آنها به پایان می رسد، از API وقفه در آن استفاده کنید. برای اطلاعات بیشتر، دستورالعمل‌های دسترسی برنامه‌نویس Android را ببینید.

سازگاری

سند تعریف سازگاری اندروید (CDD)

سند تعریف سازگاری اندروید 10 با به‌روزرسانی‌هایی برای ویژگی‌های جدید و تغییرات در الزامات عملکردهای قبلی منتشر شده، بر اساس نسخه‌های قبلی تکرار می‌شود.

تست ها

مجموعه تست سازگاری (CTS)

Android CTS یک صفحه یادداشت های انتشار جداگانه دارد که بسیاری از تغییرات مهم را برای اندروید 10 فهرست می کند.

دانلودهای CTS

بسته های CTS که از اندروید 10 پشتیبانی می کنند در صفحه دانلودهای CTS موجود هستند. کد منبع برای تست های ارائه شده را می توان با تگ android-cts-10_r1 در درخت منبع باز همگام سازی کرد.

CTS شیم APEX

اندروید 10 بسته‌ای به نام CtsShimApex را معرفی می‌کند که برای نوشتن تست‌های CTS برای مدیریت APEX باید از قبل روی دستگاه نصب شود.

حالت مهار تست

حالت مهار تست CTS به توسعه دهندگان کمک می کند تا تست یک دستگاه یا ناوگانی از دستگاه ها را خودکار کنند.

حالت برنامه های فوری

با شروع Android 10، CTS در حالت برنامه‌های فوری اجرا می‌شود، به این معنی که APK آزمایشی را به‌عنوان یک برنامه فوری نصب کنید و آزمایش‌ها را اجرا کنید.

علاوه بر حالت CTS برای برنامه‌های فوری، اندروید 10 دارای تأییدکننده CTS برای برنامه‌های فوری است.

تست صوتی CTS Verifier pro

Android 10 یک آزمایش تأییدکننده CTS برای سازگاری Pro Audio اضافه می‌کند.

تست های MIDI تایید کننده CTS

در Android 10، تست CTS Verifier MIDI عملکرد MIDI را با رابط های USB MIDI، رابط های MIDI بلوتوث و یک مسیر دستگاه MIDI مجازی آزمایش می کند.

تفسیر تست CTS

اندروید 10 مکانیسم تفسیر نتایج CTS را به روز می کند.

مجموعه تست فروشنده (VTS)

تست VTS با دیباگ ramdisk

در اندروید 10، تصویر سیستم عمومی (GSI) مورد استفاده برای اجرای تست انطباق CTS-on-GSI/VTS از userdebug به نوع ساخت کاربر تغییر می کند، زیرا GSI دارای امضای انتشار است. با این حال، دستور adb root که به یک میزبان مجوزهای root را به دستگاه اندرویدی تحت آزمایش می دهد، در ساخت کاربر موجود نیست. این یک مشکل است زیرا VTS برای اجرا به adb root نیاز دارد.

ramdisk اشکال زدایی برای ایجاد adb root در صورت باز بودن قفل دستگاه معرفی شده است. این امر با استفاده مجدد از همان ساخت کاربر system.img (یا GSI یا system.img OEM) جریان آزمایش را ساده می‌کند.

اعتبار سنجی آهنگساز سخت افزار

اندروید 10 یک کلاس تست VTS جدید برای اعتبارسنجی Hardware Composer از طریق رابط readback در IComposerClient.hal اضافه می‌کند. اگر فروشندگان readback پیاده سازی نکنند، آزمایش ها به طور خودکار انجام می شود.

اشکال زدایی

کتابخانه های مشترک را با بارگذارهای کلاس مختلف بارگیری کنید

در اندروید 9 و نسخه‌های پایین‌تر، برنامه‌ها کتابخانه‌های مشترک جاوای مرتبط خود را در بارگیری کلاس برنامه بارگیری کردند. در Android 10، این فریم ورک از یک بارکننده کلاس متفاوت از بارکننده کلاس برنامه برای بارگیری کتابخانه های مشترک جاوا که از طریق uses-library یا uses-static-library مرتبط هستند، استفاده می کند.

به طور کلی، برنامه‌ها نباید به استفاده از یک کلاس لودر خاص متکی باشند، بنابراین این تغییر نباید رفتار برنامه را مختل کند. با این حال، اگر برنامه‌ای به استفاده از یک کلاس بارکننده تکیه کند، این رفتار خراب می‌شود. به‌علاوه، مشاهده خصوصی بسته کلاس‌ها در همان بسته همچنان پشتیبانی می‌شود، اما در کتابخانه‌های مشترک پشتیبانی نمی‌شود.

سازندگان دستگاه ممکن است هنگام آزمایش دستگاه های خود که دارای Android 10 هستند، مشکلات سازگاری برنامه را ببینند.

ویژگی های امنیتی

برای فهرست کامل‌تری از پیشرفت‌های مربوط به امنیت و حریم خصوصی، صفحه پیشرفت‌های امنیتی و حریم خصوصی Android 10 را ببینید.

احراز هویت چهره

احراز هویت چهره به کاربران این امکان را می دهد که قفل دستگاه خود را به سادگی با نگاه کردن به جلوی دستگاه خود باز کنند. اندروید 10 پشتیبانی از یک پشته احراز هویت چهره جدید را اضافه می کند که می تواند به طور ایمن فریم های دوربین را پردازش کند و امنیت و حریم خصوصی را در حین احراز هویت روی سخت افزار پشتیبانی شده حفظ کند. اندروید 10 همچنین یک راه آسان برای پیاده سازی های منطبق با امنیت برای فعال کردن یکپارچه سازی برنامه برای تراکنش هایی مانند بانکداری آنلاین یا سایر خدمات فراهم می کند.

دسترسی گسترده

عوامل اعتماد، مکانیسم اساسی که توسط مکانیسم‌های احراز هویت ثالث مانند قفل هوشمند استفاده می‌شود، فقط می‌تواند در Android 10 بازگشایی شود. نمایندگان اعتماد دیگر نمی‌توانند قفل دستگاه قفل شده را باز کنند و فقط می‌توانند دستگاه را حداکثر تا چهار ساعت باز نگه دارند.

رمزگذاری

OEMCrypto

اندروید 10 از OEMCrypto API نسخه 15 استفاده می کند.

آزمایش کردن

ضدعفونی کننده مرزها

اندروید 10 از BoundsSanitizer (BoundSan) در بلوتوث و کدک ها استفاده می کند. BoundSan از ضدعفونی کننده محدوده UBSan استفاده می کند. این کاهش در سطح هر ماژول فعال است. این کمک می کند تا اجزای حیاتی اندروید را ایمن نگه دارد و نباید غیرفعال شود. BoundSan در کدک های زیر فعال است:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

پاکسازی سرریز عدد صحیح

اندروید 10 پاکسازی سرریز عدد صحیح (IntSan) را در کدک های نرم افزاری فعال می کند. مطمئن شوید که عملکرد پخش برای کدک‌هایی که در سخت‌افزار دستگاه پشتیبانی نمی‌شوند، قابل قبول است. IntSan در کدک های زیر فعال است:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

حافظه فقط اجرا

به‌طور پیش‌فرض، بخش‌های کد اجرایی برای باینری‌های سیستم AArch64 فقط اجرا (غیرقابل خواندن) به‌عنوان یک کاهش سخت‌تر در برابر حملات استفاده مجدد از کد به‌موقع علامت‌گذاری می‌شوند. کدی که داده‌ها و کدها را با هم ترکیب می‌کند و کدهایی که به طور هدفمند این بخش‌ها را بررسی می‌کنند (بدون اینکه ابتدا بخش‌های حافظه را به‌عنوان قابل خواندن دوباره نقشه‌برداری کنند) دیگر عمل نمی‌کنند. اگر برنامه بخواهد بخش‌های کد کتابخانه‌های سیستم فقط اجرا (XOM) را در حافظه بخواند، بدون اینکه ابتدا بخش را به‌عنوان خوانا علامت‌گذاری کند، برنامه‌های دارای SDK هدف Android 10 (سطح API 29 یا بالاتر) تحت تأثیر قرار می‌گیرند.

اسکودو

Scudo یک تخصیص دهنده حافظه پویا در حالت کاربر است که به گونه ای طراحی شده است که در برابر آسیب پذیری های مرتبط با heap انعطاف پذیرتر باشد. این استانداردهای اولیه تخصیص و توزیع C و همچنین C++ اولیه را ارائه می دهد.

ShadowCallStack

ShadowCallStack (SCS) یک حالت ابزار دقیق LLVM است که با ذخیره آدرس بازگشتی یک تابع در یک نمونه ShadowCallStack به طور جداگانه در پیش‌نویس توابع غیربرگی و بارگیری آدرس برگشتی از نمونه ShadowCallStack در برابر بازنویسی آدرس برگشتی (مانند سرریزهای بافر پشته) محافظت می‌کند. اپیلوگ عملکرد

سمعی

HAL صوتی

اندروید 10 شامل قابلیت های جدید زیر برای HAL صوتی است.

  • AudioSource
  • AudioFormat
  • AudioChannelMask

الزامات اضافی برای اجرای HAL صوتی و زیرسیستم اضافه شده است.

اثرات پیش پردازش

اندروید افکت‌های پیش‌پردازش را ارائه می‌کند، مانند لغو اکو آکوستیک، کنترل بهره‌گیری خودکار، و سرکوب نویز. Android 10 شامل الزامات جدیدی برای عکسبرداری با VOICE_COMMUNICATION است.

مدیر خط مشی صوتی

اندروید 10 شامل بازسازی قابل توجهی از مدیر خط مشی صدا برای ارائه انعطاف پذیری بیشتر برای پشتیبانی از موارد استفاده پیچیده از خودرو است.

صدای با وضوح بالا

اندروید 10 شامل بهبودهای زیر برای صدای با وضوح بالا است.

  • پشتیبانی شناور
  • پشتیبانی از فرکانس 192 کیلوهرتز
  • پشتیبانی هشت کاناله
  • گنجاندن اطلاعات زمان بندی

ضبط همزمان

Android 10 تجربه کاربر ضبط همزمان را بهبود می بخشد که به بیش از یک ضبط صوتی فعال به طور همزمان نیاز دارد.

AudioPlaybackCapture

اندروید 10 حاوی یک API جدید به نام AudioPlaybackCapture است که به برنامه‌ها این امکان را می‌دهد تا صدای پخش شده توسط برنامه‌های دیگر را کپی کنند. این ویژگی مشابه تصویربرداری از صفحه نمایش است، اما برای صدا. مورد استفاده اصلی این است که برنامه های پخش جریانی را فعال کنید تا صدایی را که بازی ها پخش می کنند ضبط کنند.

API ضبط بر تأخیر برنامه ای که صدای آن ضبط می شود تأثیر نمی گذارد.

MIDI

Android 10 انتقال برنامه های صوتی حرفه ای با استفاده از MIDI را به پلتفرم اندروید با استفاده از AMidi NDK API آسان می کند.

دوربین

برای خلاصه‌ای از تغییرات ایجاد شده در دوربین API، دوربین HAL و ماژول دوربین معرفی‌شده در اندروید 10، به‌روزرسانی‌های دوربین Android 10 را ببینید.

بهبود حریم خصوصی چارچوب دوربین

اندروید 10 بهبودهای حریم خصوصی را در چارچوب دوربین معرفی می کند. برای جلوگیری از افشای اطلاعات بالقوه حساس دوربین استاتیک در CameraCharacteristics بدون رضایت کاربر، برنامه‌ها باید مجوز CAMERA را برای بازیابی فراداده استاتیک با یک برچسب حساس به حریم خصوصی با استفاده از روش getCameraCharacteristics دریافت کنند.

برای دریافت لیستی از کلیدهای مشخصه دوربین که به مجوز CAMERA نیاز دارند، روش getKeysNeedingPermission را فراخوانی کنید.

جستار پیکربندی مجدد جلسه

اندروید 10 ویژگی جستجوی پیکربندی مجدد جلسه را اضافه می کند که از طریق کنترل بیشتر بر منطق پیکربندی مجدد پارامتر جلسه داخلی، عملکرد بهبود یافته را امکان پذیر می کند.

APIهای مدیریت بافر دوربین HAL3

اندروید 10 APIهای اختیاری مدیریت بافر دوربین HAL3 را معرفی می کند که به شما امکان می دهد منطق مدیریت بافر را برای دستیابی به حافظه های مختلف و ثبت معاوضه تاخیر در اجرای HAL دوربین پیاده سازی کنید.

سوئیچ دوربین فیزیکی پویا دوربین HAL

اندروید 10 یک تگ فراداده پویا به نام ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID معرفی می‌کند که نشان‌دهنده دوربین فیزیکی فعال زیرین یک دستگاه دوربین منطقی است. برای اطلاعات بیشتر، به پشتیبانی از چند دوربین مراجعه کنید.

پشتیبانی از مخفی کردن دوربین های فیزیکی

در اندروید 10، دوربین HAL می‌تواند تعداد دوربین‌های فیزیکی را که مستقیماً توسط یک برنامه باز می‌شوند، کاهش دهد. برای جزئیات بیشتر، به پشتیبانی از چند دوربین مراجعه کنید.

Camera2 VNDK API

در Android 10، ماژول‌های فروشنده می‌توانند از طریق دو رابط استاندارد HIDL جدید، android.frameworks.cameraservice.service@2.0 و android.frameworks.cameraservice.device@2.0 ، به دستگاه‌های دوربین دسترسی پیدا کرده و آن‌ها را کنترل کنند. برای راحت‌تر کردن استفاده از رابط‌های HIDL، Android 10 یک کتابخانه در دسترس فروشنده، libcamera2_vendor نیز معرفی می‌کند. این کتابخانه مشابه کتابخانه Camera NDK است، با چند تغییر جزئی.

تنظیمات جریان

Android 10 ویژگی‌هایی را اضافه می‌کند که به فروشندگان دوربین اجازه می‌دهد جریان‌های پیشنهادی دوربین را برای مشتریان دوربین تبلیغ کنند و از یک API برای جستجوی ترکیب‌های جریان پشتیبانی کنند.

الزامات ترکیب جریان دوربین

دستگاه‌های دارای Android 10 دیگر نیازی به پشتیبانی از ترکیب‌های جریان با جریان‌های فیزیکی زیر دوربین ندارند. با این حال، دستگاه‌های دارای Android 10 با دوربین دستگاه HAL نسخه 3.5 باید از isStreamCombinationSupported() پشتیبانی کنند تا به برنامه‌ها اجازه دهند پرس و جو کنند که آیا ترکیبی از جریان حاوی جریان‌های فیزیکی پشتیبانی می‌شود یا خیر.

برای اطلاعات بیشتر، به پشتیبانی از چند دوربین مراجعه کنید.

تصویربرداری HEIF

اندروید 10 برای تصاویر با فرمت فایل تصویری با کارایی بالا (HEIF) پشتیبانی می‌کند که کیفیت تصویر بهبود یافته و اندازه‌های کوچک‌تر را نسبت به تصاویر JPEG ارائه می‌دهد. دستگاه ها باید دارای رمزگذار HEIC یا HEVC برای پشتیبانی از تصاویر HEIF باشند.

دوربین های تک رنگ

Android 10 پشتیبانی بیشتری از فرمت پخش جریانی Y8، ابرداده‌های استاتیک فیلتر رنگی تک رنگ و مادون قرمز نزدیک (NIR) و عملکردهای DngCreator برای دوربین‌های تک رنگ ارائه می‌کند.

قابلیت اتصال

تماس و پیام

شماره های اضطراری و تماس اضطراری

Android 10 پشتیبانی بهبود یافته ای را برای تماس اضطراری ارائه می دهد. در مواقع اضطراری، دستگاه‌هایی که از IRadio HAL نسخه 1.4 پشتیبانی می‌کنند، می‌توانند با استفاده از شماره‌های اضطراری بازیابی شده از منبعی مانند سیم‌کارت، سیگنال شبکه یا پایگاه داده Android، تماس اضطراری را آغاز کنند. اعداد را می توان بر اساس دسته های خدمات اضطراری مانند پلیس، آتش نشانی و آمبولانس دسته بندی کرد.

APIهای تماس گروهی

APIهای تماس گروهی توسعه‌ای از APIهای eMBMS هستند که در Android 9 اضافه شده‌اند. APIهای جدید استانداردی را برای برنامه‌ها برای پیوستن و پخش در تماس‌های گروهی پخش سلولی از طریق تعامل با بسته‌های میان‌افزار eMBMS تعریف می‌کنند. تماس های گروهی برای عملکرد صحیح نیاز به پشتیبانی از فروشنده چیپ ست، فروشنده میان افزار و حامل سلولی دارند. اسناد برنامه‌نویس در developer.google.com قرار دارد.

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

اندروید 10 قابلیت‌های سیم‌کارت از راه دور را معرفی می‌کند که به برنامه‌های پیام‌رسان در دستگاه میزبان اندروید اجازه می‌دهد پیام‌های SMS را از طریق تلفن‌ها با استفاده از مکانیسم‌هایی مانند بلوتوث ارسال کنند. برای اطلاعات بیشتر، به مستندات مرجع برای روش getSubscriptionType و ثابت SUBSCRIPTION_TYPE_REMOTE_SIM مراجعه کنید.

چند eSIM

در Android 10، کلاس EuiccManager از دستگاه‌هایی با چند سیم‌کارت جاسازی‌شده (eSIM) یا eUICC پشتیبانی می‌کند.

به روز رسانی eSIM

برای دستگاه‌های دارای Android 10 که از سیم‌کارت‌های الکترونیکی پشتیبانی می‌کنند، باید آرایه شناسه اسلات eUICC غیرقابل جابجایی تعریف شود. دستگاه ها همچنین باید IRadio HAL v1.4 و IRadioConfig HAL v1.2 را پشتیبانی کنند. برای اطلاعات بیشتر، به اجرای الزامات eSIM و HAL مراجعه کنید.

5G غیر مستقل (NSA)

اندروید 10 پشتیبانی از 5G غیر مستقل (NSA) را اضافه می کند. 5G NSA راه حلی برای شبکه های 5G است که در آن شبکه توسط زیرساخت 4G موجود پشتیبانی می شود. در اندروید 10، وقتی دستگاهی به شبکه 5G متصل می شود، دستگاه ها می توانند نماد 5G را در نوار وضعیت نمایش دهند.

پیشنهاد حساب تلفن

اندروید 10 سرویس پیشنهادی حساب تلفن را معرفی می کند که به کاربران اجازه می دهد هنگام برقراری تماس، پیشنهادات حساب های تلفن را به کاربران نشان دهند.

حامل

انتقال تنظیمات شبکه تلفن همراه

اندروید 10 کد UI تنظیمات شبکه تلفن همراه را مجدداً معماری کرد و آن را از پشته تلفن به پشته تنظیمات منتقل کرد. برای پشتیبانی از کد انتقال یافته، مقادیر پیکربندی تنظیمات شبکه موبایل زیر را از منابع Android به منابع CarrierConfig تغییر دهید:

config_world_mode -> CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL

config_support_tdscdma -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL

config_support_tdscdma_roaming_on_networks -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY

config_enabled_lte -> CarrierConfigManager#KEY_LTE_ENABLED_BOOL

شناسه های دستگاه

شناسه‌های دائمی دستگاه (IMEI/MEID، IMSI، و سریال ساخت) توسط یک مجوز ممتاز محافظت می‌شوند و به برنامه‌های مالک دستگاه و نمایه نیز دسترسی داده شده است. از آنجایی که شماره سریال IMSI و سیم کارت توسط شرکت مخابراتی ارائه شده است، دسترسی به این شناسه ها به بسته هایی با امتیازات اپراتور اعطا می شود.

وای فای

انتخاب شبکه

اندروید به طور مداوم کیفیت شبکه متصل را ارزیابی می کند و کیفیت شبکه های موجود را ارزیابی می کند. اندروید 10 الگوریتم‌ها و رویه‌هایی را برای انتخاب و جابه‌جایی بین شبکه‌های Wi-Fi به‌روزرسانی کرده است.

اسکن تخلیه بار شبکه ترجیحی Wi-Fi

Android 10 یک روش API اختیاری به نام setDeviceMobilityState() را در WifiManager معرفی می‌کند که فاصله بین اسکن‌های تخلیه شبکه ترجیحی (PNO) را در زمانی که دستگاه ثابت است افزایش می‌دهد تا مصرف انرژی را کاهش دهد.

وای فای حامل

در Android 10، دستگاه‌های دارای ویژگی Wi-Fi شرکت مخابراتی به‌طور خودکار به شبکه‌های Wi-Fi شرکت مخابراتی پیکربندی شده (شبکه‌هایی با گواهی‌های کلید عمومی) متصل می‌شوند.

Wi-Fi Easy Connect

در Android 10، دستگاه‌ها می‌توانند از Wi-Fi Easy Connect استفاده کنند که از پروتکل تأمین دستگاه (DPP) معرفی شده توسط Wi-Fi Alliance (WFA) برای تهیه و پیکربندی دستگاه‌های Wi-Fi استفاده می‌کند.

حالت تأخیر کم وای فای

اندروید 10 حالت کم تأخیر وای فای را معرفی می کند که تراشه وای فای را برای کاهش تأخیر پیکربندی می کند.

سرور DHCP به روز شد

به عنوان بخشی از تشکیل یک چتر سرویس "IP Server"، dnsmasq در حال حذف است. Android 10 استفاده عملکردی سرور DHCPv4 خود را با یک مؤلفه جداگانه جایگزین می‌کند، که عمدتاً به زبان جاوا نوشته شده است تا بهتر با صفحه کنترل چارچوب جاوا ادغام شود. این امر امنیت و قابلیت به روز رسانی را برای سرور DHCP بهبود می بخشد. برای جزئیات بیشتر، به packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java مراجعه کنید.

هیچ اقدامی برای اجرای این تغییر لازم نیست: همه دستگاه‌هایی که منتشر می‌شوند و به Android 10 ارتقا می‌یابند به‌طور پیش‌فرض از DhcpServer استفاده می‌کنند. اگر سفارشی‌سازی‌هایی برای سرور DHCP دارید، می‌توانید با تنظیم تنظیمات کلی tether_enable_legacy_dhcp_server=1 به رفتار Android 9 برگردید. DhcpServer جدید در ماژول اجزای شبکه گنجانده شده است، بنابراین هر گونه سفارشی سازی برای عملکرد سرور DHCP باید در بالادستی انجام شود.

WPA3 و Wi-Fi Enhanced Open

Android 10 پشتیبانی از Wi-Fi Protected Access 3 (WPA3) و استانداردهای امنیتی Wi-Fi Enhanced Open را اضافه می کند تا حریم خصوصی و استحکام بهتری در برابر حملات شناخته شده ارائه دهد.

ارتباط مستقیم به کمک وای - فای

Wi-Fi Direct که با نام Wi-Fi P2P نیز شناخته می‌شود، به دستگاه‌های پشتیبانی اجازه می‌دهد مستقیماً با استفاده از پروتکل Wi-Fi Direct بدون دسترسی به اینترنت یا شبکه تلفن همراه، یکدیگر را کشف کرده و به یکدیگر متصل شوند.

پیشرفت تصادفی سازی MAC

از Android 10، تصادفی سازی MAC به طور پیش فرض برای حالت مشتری، SoftAp و Wi-Fi Direct فعال است. دستگاه ها باید گزینه ای برای فعال یا غیرفعال کردن تصادفی سازی MAC برای هر SSID در رابط کاربری سیستم ارائه دهند.

رمز عبور R2

اندروید 10 از ویژگی های Passpoint R2 پشتیبانی می کند. Passpoint R2 ثبت نام آنلاین (OSU) را پیاده سازی می کند، یک روش استاندارد برای ارائه پروفایل های جدید Passpoint. اندروید 10 از ارائه پروفایل های EAP-TTLS با استفاده از SOAP-XML پشتیبانی می کند.

NFC

NFC ایمن

Secure NFC اجازه می دهد تا شبیه سازی کارت NFC خارج از میزبان تنها زمانی فعال شود که قفل صفحه نمایش دستگاه باز است. اجرای این ویژگی به کاربران امکان فعال کردن Secure NFC را برای بهبود امنیت می دهد.

پرتو Android منسوخ شده است

در اندروید 10 دیگر نیازی به Android Beam نیست و رابط ها و روش های زیر منسوخ شده اند.

رابط ها:

مواد و روش ها:

برای استفاده از Android Beam، ثابت ویژگی android.sofware.nfc.beam را گزارش دهید.

گرافیک

ASurfaceControl

اندروید 10 ASurfaceControl را اضافه می کند، راهی جدید برای SurfaceFlinger برای پذیرش بافرها.

پیاده سازی گرافیک

لایه های OpenGL ES

اندروید 10 یک سیستم لایه بندی برای GLES معرفی می کند.

EGL 1.5

اندروید 10 رابط کاربری EGL 1.5 را پیاده سازی می کند. برای اطلاعات در مورد ویژگی های جدید در EGL 1.5، مشخصات Khronos Releases EGL 1.5 را مشاهده کنید.

ولکان

اندروید 10 از گرافیک Vulkan 1.1 پشتیبانی می کند. این پلتفرم همچنین از VK_KHR_swapchain v70 پشتیبانی می‌کند، بنابراین برنامه Vulkan می‌تواند یک VkImage با پشتیبانی از حافظه swapchain ایجاد کند.

نرخ تجدید عملکرد

اندروید 10 پشتیبانی از نرخ تازه سازی عملکرد را اضافه می کند. این ویژگی به طور پیش فرض خاموش است.

اثر متقابل

خودرو

صدای خودرو

در Android 10، Audio HAL زمینه را به AudioAttributes.usage برای شناسایی صداها نگاشت می کند. Android از یک نمونه AUDIO_DEVICE_OUT_BUS در هر زمینه پشتیبانی می کند. IAudioControl HAL الحاقات مخصوص وسیله نقلیه را برای Audio HAL فراهم می کند.

ناوبری ژست

اندروید 10 گزینه ای را برای ناوبری سیستم کاملاً حرکتی معرفی می کند. برای اطلاعات در مورد نحوه آماده سازی برنامه ها برای استفاده از این ویژگی، به صفحه ناوبری Gesural در سایت برنامه نویس Android مراجعه کنید.

شبکه های عصبی

اندروید 10 به‌روزرسانی‌هایی را برای API شبکه‌های عصبی و HAL شبکه‌های عصبی معرفی می‌کند. برای خلاصه ای از تغییرات، شبکه های عصبی را ببینید.

مستندات جدید و به روز شده شبکه های عصبی برای اندروید 10:

حسگرها

سنسور HAL 2.0

Sensors HAL 2.0 از استفاده از صف‌های پیام سریع (FMQ) برای ارسال رویدادهای حسگر از HAL به چارچوب سنسورهای Android پشتیبانی می‌کند.

سنسورها خاموش

اندروید 10 شامل تنظیمات توسعه دهنده برای خاموش کردن همه حسگرهای یک دستگاه است. این ویژگی به توسعه دهندگان کمک می کند تا عملکرد برنامه خود را در شرایطی که آن حسگرها در دسترس نیستند آزمایش کنند و همچنین راهی برای کنترل سنسورهای دستگاه خود در اختیار کاربران قرار می دهد.

اگر دستگاه‌های شما از اجرای پیش‌فرض SensorService ، CameraService ، و AudioPolicyService استفاده می‌کنند، دیگر نیازی به سفارشی‌سازی اضافی برای طراحی مرجع نیست. اگر سنسورهای دیگری دارید، برای جزئیات بیشتر در مورد پشتیبانی از این ویژگی، به سفارشی سازی مراجعه کنید.

رسانه ها

اجزای رسانه قابل به روز رسانی

Android 10 مؤلفه‌های رسانه قابل به‌روزرسانی را ارائه می‌کند که امکان به‌روزرسانی مؤلفه‌های سیستم مدولار مرتبط با رسانه را از طریق زیرساخت فروشگاه Google Play یا از طریق مکانیسم OTA (OTA) فراهم می‌کند.

رسانه DRM

Android 10 ابزار و قابلیت استفاده از MediaDrm Java و API های NDK را بهبود می بخشد.

رمزگشایی

اندروید 10 از رمزگشایی AV1 SW پشتیبانی می کند.

مجوزها

Android 10 تنظیمات مجوز اضافی را برای شفافیت و حفظ حریم خصوصی کاربر فراهم می کند.

اطلاعات ارائه دهنده تماس و وابستگی ها

در Android 10، داده‌های مرتبط با مخاطبین، که توسط مؤلفه ارائه‌دهنده مخاطبین مدیریت می‌شود، متفاوت از Android 9 و پایین‌تر قابل دسترسی هستند. این تغییرات در مورد دسترسی به داده ها، حریم خصوصی کاربر را در همه دستگاه های Android 10 که از مؤلفه Contacts Provider استفاده می کنند، بهبود می بخشد. پایگاه داده زیربنایی دیگر حاوی داده های وابستگی تماس نیست. بنابراین برنامه ها نمی توانند روی آن بنویسند یا از آن بخوانند.

انتظار می رود تغییرات اندروید 10 تاثیر زیادی بر API ها داشته باشد. اگر برنامه‌های شما به ویژگی‌های منسوخ ذکر شده در اطلاعات ارائه‌دهنده مخاطبین و Affinities متکی هستند، ممکن است بخواهید برنامه‌های خود را برای جبران هرگونه تغییر به‌روزرسانی کنید. بعلاوه، اگر از نسخه فورک شده Contacts Provider استفاده می کنید، باید Contacts Provider خود را به روز کنید.

مجوزهای موقعیت مکانی Tristate

مجوزهای موقعیت مکانی Tristate در اندروید 10 به کاربران کنترل بیشتری بر نحوه دسترسی برنامه ها به مکان های دستگاهشان می دهد.

یادآوری دسترسی به موقعیت مکانی پس‌زمینه

Android 10 دارای یک یادآوری موقعیت دسترسی پس‌زمینه است که شفافیت را در میزان دسترسی برنامه‌ها به مکان دستگاه افزایش می‌دهد و به کاربران کمک می‌کند تا کنترل این دسترسی‌ها را حفظ کنند.

مکان های فرصت طلب را محدود کنید

هنگامی که یک برنامه مکان یک دستگاه را درخواست می کند، برنامه می تواند منتظر پاسخ درخواست باشد یا با استفاده از شنونده های موقعیت مکانی فعال، به روز رسانی موقعیت مکانی فرصت طلبانه را دریافت کند. از Android 10، برای دریافت به‌روزرسانی‌های موقعیت مکانی فرصت طلب ، توسعه‌دهندگان باید مشخص کنند که به به‌روزرسانی‌های موقعیت مکانی غیرفعال از کلاس FusedLocationProviderClient نیاز دارند.

برنامه های پس زمینه راه اندازی می شوند

در اندروید 10، برنامه‌های غیرمجاز بدون پنجره قابل مشاهده نمی‌توانند به‌طور خودکار در پیش‌زمینه راه‌اندازی شوند. این تغییر پنجره‌های بازشو و کنترل‌های مخرب را سرکوب می‌کند. هیچ اقدامی برای فعال کردن این مورد نیاز نیست.

سندباکس کردن برنامه

در اندروید 10، برنامه ها دید خام محدودی از سیستم فایل دارند، بدون دسترسی مستقیم به مسیرهایی مانند /sdcard/DCIM . با این حال، برنامه‌ها دسترسی خام کامل به مسیرهای بسته خاص خود را حفظ می‌کنند، همانطور که با روش‌های قابل اجرا مانند Context.getExternalFilesDir() بازگردانده می‌شوند. برنامه ها همچنان به مسیرهای بسته خاص خود دسترسی خام کامل دارند.

از دستورالعمل‌های جعبه ایمنی برنامه برای به اشتراک‌گذاری فایل‌ها برای ارائه جزئیات اشتراک‌گذاری داده مناسب استفاده کنید.

دسترسی به کلیپ بورد برنامه را محدود کنید

در Android 10، دسترسی به کلیپ بورد تغییر کرده است به طوری که محتوای کلیپ بورد را نمی توان با تماس با ClipboardManager.getPrimaryClip یا با افزودن یک شنونده onPrimaryClipChangedListener برای اطلاع در هنگام تغییر کلیپ بورد مشاهده کرد. این امر حریم خصوصی کاربر را افزایش می دهد و برنامه های بدافزار را از تغییر کلیپ بورد غیرفعال می کند.

در Android 10، دسترسی خواندن فقط به برنامه فعلی با فوکوس ورودی یا به صفحه کلید فعلی مجاز است. تماس شنونده ClipboardManager.onPrimaryClipChanged() اکنون فقط برای برنامه‌هایی فعال می‌شود که چنین محدودیت‌هایی را دارند. ClipboardManager.getPrimaryClip و ClipboardManager.getPrimaryClipDescription اگر برنامه درخواست‌کننده یا ویرایشگر روش ورودی پیش‌فرض (IME) نباشد null یا فوکوس ورودی نداشته باشد، پوچ برمی‌گردانند.

مجوزهای زمان اجرا شامل تشخیص فعالیت است

وقتی یک برنامه به مکان دستگاه در پس‌زمینه دسترسی پیدا می‌کند، کاربران اکنون یک گفتگوی تشخیص فعالیت را می‌بینند. مجوزهای زمان اجرا با محدودیت سخت باید به درستی در لیست سفید Android 10 قرار گیرند.

مجوز MANAGE_DEVICE_ADMINS

Android 10 مجوز MANAGE_DEVICE_ADMINS را از امضا یا امتیاز به فقط امضا تغییر می‌دهد. این بدان معناست که فقط برنامه‌های دارای امضای پلتفرم می‌توانند برنامه‌های دیگر را به‌عنوان سرپرست دستگاه تنظیم کنند.

به اشتراک گذاری بهبودهای API

Android 10 تعدادی ویژگی جدید API پلتفرم Android مربوط به اشتراک گذاری را ارائه می دهد. اگر کد اشتراک‌گذاری را در پیاده‌سازی خود تغییر داده‌اید، مطمئن شوید که پیاده‌سازی شما از این ویژگی‌های جدید پشتیبانی می‌کند. اگر در اجرای خود کد اشتراک‌گذاری را تغییر نداده‌اید، برای پشتیبانی از این ویژگی‌های جدید نیازی به انجام کاری ندارید.

زمان اجرا اندروید (ART)

پیکربندی امضا شده

ویژگی Signed Config اجازه می دهد تا پیکربندی محدودیت های رابط غیر SDK را در APK جاسازی کنید. این امکان حذف رابط های غیر SDK خاص را از لیست سیاه فراهم می کند تا AndroidX بتواند با خیال راحت از آنها استفاده کند. با این تغییر، AndroidX می تواند پشتیبانی از ویژگی های جدید را در نسخه های قدیمی اندروید اضافه کند.

کارایی

لایه انتزاعی Cgroup

اندروید 10 شامل یک لایه انتزاعی cgroup و پروفایل‌های وظیفه است که توسعه‌دهندگان می‌توانند از آن برای توصیف مجموعه‌ای از محدودیت‌ها برای اعمال بر روی یک رشته یا یک فرآیند استفاده کنند.

دیمون قاتل کم حافظه (lmkd)

اندروید 10 از حالت جدید lmkd پشتیبانی می کند که از مانیتورهای اطلاعات توقف فشار هسته (PSI) برای تشخیص فشار حافظه استفاده می کند.

قدرت

مدیریت توان پلت فرم

در اندروید 10، حالت Doze را می توان در دستگاه های همیشه روشن و همچنین دستگاه های با باتری فعال کرد.

صرفه جویی معمول باتری

اندروید 10 یک گزینه برنامه زمان بندی صرفه جویی باتری جدید به نام بر اساس روتین معرفی می کند. صرفه جویی معمول باتری به یک برنامه انتخاب شده توسط OEM اجازه می دهد تا سیگنال هایی را برای برنامه ریزی هوشمندتر صرفه جویی باتری به سیستم ارائه دهد. این گزینه نیاز به پیکربندی دارد و برای پیاده سازی اختیاری است.

آمار قدرت HAL

در Android 10، IPowerStats.hal جایگزین APIهای مجموعه آمار قدرت در IPower.hal می شود. در حالی که Power HAL هنوز از API ها پشتیبانی می کند، آنها در آینده منحصراً به آمار قدرت HAL منتقل می شوند.

آمار قدرت HAL شامل APIهای جدیدی برای پشتیبانی از جمع آوری داده ها از اندازه گیری توان روی دستگاه، برای دستگاه های پشتیبانی شده است. APIهای مجموعه آمار قدرت موجود نیز برای بهبود انعطاف پذیری به روز می شوند. Power Hinting APIها در حالت HAL قدرت باقی می مانند و تغییر نمی کنند.

کاهش حرارتی

چارچوب حرارتی در Android 10 رابط های دستگاه را برای سنسور دمای زیرسیستم حرارتی شامل CPU، GPU، باتری، پوست و دستگاه خنک کننده خلاصه می کند. این فریم ورک یک رابط نظرسنجی را برای پرس و جو از وضعیت حرارتی برای شروع throttling معرفی می کند و یک رابط پاسخ به تماس را برای ارسال پیام به کاربر در صورت تجاوز از یک آستانه معرفی می کند.

اندروید 10 انواع داده های جدید را از طریق رابط IThermalService با استفاده از این سه روش جدید ارائه می دهد:

برنامه ها شنونده ها را اضافه و حذف می کنند و به وضعیت دما در کلاس PowerManager دسترسی دارند. فقط یک سرویس سیستم قابل اعتماد مانند API Android یا API سازنده دستگاه می‌تواند به اطلاعات مربوط به رویدادهای علّی مرتبط دسترسی داشته باشد. سازندگان دستگاه یا سازندگان SoC باید thermal HAL 2.0 برای فعال کردن عملکرد کامل چارچوب حرارتی جدید پیاده‌سازی کنند.

برای مثال اجرای کاهش حرارتی، اجرای مرجع را ببینید.

به روز رسانی ها

فرمت فایل APEX

Android Pony EXpress (APEX) یک قالب کانتینری جدید است که در جریان نصب اجزای سیستم مدولار استفاده می شود.

پارتیشن های پویا

پارتیشن‌های پویا یک سیستم پارتیشن‌بندی فضای کاربران را به اندروید معرفی می‌کنند، که اجازه می‌دهند پارتیشن‌ها ایجاد، تغییر اندازه یا در طول به‌روزرسانی OTA از بین بروند. سازندگان دستگاه ها نباید نگران اندازه های جداگانه پارتیشن ها مانند system ، vendor و product باشند. در عوض، یک پارتیشن super اختصاص داده می‌شود و پارتیشن‌های فرعی را می‌توان به صورت پویا درون آن اندازه‌بندی کرد.

به روز رسانی سیستم پویا

به‌روزرسانی‌های سیستم پویا (DSU) به شما امکان می‌دهد یک تصویر سیستم اندرویدی بسازید که کاربران می‌توانند آن را از اینترنت دانلود کرده و بدون خطر خراب کردن تصویر فعلی سیستم، آن را امتحان کنند.

پشتیبان گیری و بازیابی چند کاربره

اندروید 10 از قابلیت پشتیبان گیری و بازیابی برای همه کاربران یک دستگاه پشتیبانی می کند. پیش از این، پشتیبان گیری و بازیابی فقط برای کاربر سیستم در دسترس بود. پشتیبان‌گیری و بازیابی برای کاربران غیر سیستمی به‌طور پیش‌فرض غیرفعال است، زیرا فقط بخشی از پوشش تنظیمات، کاغذدیواری و اجزای سیستم را دارد.

همپوشانی ها

کاربرانی که با userdebug یا eng builds کار می کنند انتظار دارند که بتوانند به طور موثر پارتیشن سیستم را به صورت خواندن و نوشتن مجدداً نصب کنند و سپس هر تعداد فایلی را بدون تغییر مجدد تصویر سیستم اضافه یا تغییر دهند. می‌توانید از Overlayfs استفاده کنید که به‌طور خودکار ذخیره‌سازی پشتیبان را برای یک سیستم فایل قابل نوشتن به‌عنوان مرجع بالایی تنظیم می‌کند و روی پایین‌تر نصب می‌شود. این اقدامات در درخواست‌های adb disable-verity و adb remount اتفاق می‌افتد. برای جزئیات بیشتر، به Overlayfs README در AOSP مراجعه کنید.

پشتیبانی از کتابخانه مشترک در حالت بازیابی

در اندروید 10، کتابخانه های به اشتراک گذاشته شده در پارتیشن بازیابی موجود است که نیاز به ثابت بودن تمامی فایل های اجرایی حالت بازیابی را از بین می برد. کتابخانه های به اشتراک گذاشته شده در زیر فهرست /system/lib (یا /system/lib64 برای دستگاه های 64 بیتی) در پارتیشن قرار دارند.

برای افزودن یک کتابخانه مشترک جدید به پارتیشن بازیابی، recovery_available: true یا recovery: true به Android.bp کتابخانه مشترک اضافه کنید. اولی کتابخانه را در سیستم و پارتیشن بازیابی نصب می کند، در حالی که دومی آن را فقط در پارتیشن بازیابی نصب می کند.

پشتیبانی از کتابخانه مشترک را نمی توان با سیستم ساخت مبتنی بر ساخت اندروید ایجاد کرد. برای تبدیل یک فایل اجرایی استاتیک موجود برای حالت بازیابی به حالت پویا، LOCAL_FORCE_STATIC_EXECUTABLE := true در Android.mk یا static_executable: true (در Android.bp ) حذف کنید.

نقطه بازرسی داده های کاربر (UDC)

اندروید 10 ویژگی User Data Checkpoint (UDC) را معرفی می‌کند که به اندروید اجازه می‌دهد در صورت عدم موفقیت به‌روزرسانی خارج از هوا (OTA) اندروید به حالت قبلی خود بازگردد.