این صفحه ویژگی های اصلی نسخه اندروید 10 را خلاصه می کند و پیوندهایی به اطلاعات اضافی ارائه می دهد. این خلاصه ویژگی ها بر اساس مکان مستندات ویژگی در این سایت سازماندهی شده اند.
ساخت
java_sdk_library
اندروید 10 java_sdk_library
را معرفی میکند، یک قانون ساخت جدید برای رفع مشکلات سازگاری برای کتابخانههای مشترک جاوا. سازندگان دستگاهها میتوانند از این مکانیسم برای کتابخانههای جاوای مشترک خود برای حفظ سازگاری با APIهای خود استفاده کنند.
معماری
اجزای سیستم مدولار
اندروید 10 برخی از اجزای سیستم اندروید را ماژولار می کند و آنها را قادر می سازد خارج از چرخه انتشار عادی اندروید به روز شوند. برخی از ماژول ها عبارتند از:
- زمان اجرا اندروید
- مخفی کردن
- حل کننده DNS
- DocumentsUI
- ExtServices
- رسانه ها
- ModuleMetadata
- شبکه سازی
- PermissionController
- داده های منطقه زمانی
لایه انتزاعی سخت افزاری (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 باشند.
دوربین های تک رنگ
اندروید 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 نیست و رابط ها و روش های زیر منسوخ شده اند.
رابط ها:
-
NfcAdapter.CreateBeamUrisCallback
-
NfcAdapter.CreateNdefMessageCallback
-
NfcAdapter.OnNdefPushCompleteCallback
روش ها:
-
createBeamUris
-
invokeBeam
-
isNdefPushEnabled
-
setBeamPushUris
-
setBeamPushUrisCallback
-
setNdefPushMessage
-
setNdefPushMessageCallback
-
setOnNdefPushCompleteCallback
-
createNdefMessageCallback
-
onNdefPushCompleteCallback
برای استفاده از 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:
- نمای کلی
- AHardwareBuffer
- اعدام های پشت سر هم و صف های سریع پیام
- ذخیره سازی کامپایل
- کشف و تخصیص دستگاه
- برنامه های افزودنی فروشنده
حسگرها
سنسور 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 ها پشتیبانی می کند ، آنها در آینده به طور انحصاری به آمار قدرت هال منتقل می شوند.
Power Stats HAL شامل API های جدید برای پشتیبانی از جمع آوری داده ها از اندازه گیری توان در دستگاه ، برای دستگاه های پشتیبانی شده است. API های موجود در مجموعه قدرت آمار نیز برای بهبود انعطاف پذیری به روز می شوند. API های برجسته قدرت در قدرت هال باقی مانده و در حال تغییر نیستند.
کاهش حرارتی
چارچوب حرارتی در Android 10 چکیده دستگاه برای سنسور دمای زیر سیستم حرارتی ، از جمله CPU ، GPU ، باتری ، پوست و دستگاه خنک کننده. این چارچوب یک رابط رأی دهی برای پرس و جو از وضعیت حرارتی برای شروع لرزش و رابط پاسخ به تماس برای ارسال پیام به کاربر هنگام فراتر از آستانه ارائه می دهد.
Android 10 با استفاده از این سه روش جدید ، انواع داده های جدید را از طریق رابط IThermalService
ارائه می دهد:
-
getCurrentThermalStatus()
وضعیت حرارتی فعلی دستگاه را به عنوان عدد صحیح باز می گرداند ، مگر اینکه دستگاه در حال عبور از آن باشد. -
addThermalStatusListener()
شنونده را اضافه می کند. -
removeThermalStatusListener()
شنونده قبلی اضافه شده را حذف می کند.
برنامه ها شنوندگان را اضافه و حذف می کنند و به وضعیت دما در کلاس PowerManager
دسترسی می یابند. فقط یک سرویس سیستم قابل اعتماد مانند ANDROID API یا تولید کننده دستگاه API می تواند به اطلاعات مربوط به وقایع علیت مرتبط دسترسی پیدا کند. تولید کنندگان دستگاه یا سازندگان SOC باید thermal HAL 2.0
پیاده سازی کنند تا عملکرد کامل چارچوب حرارتی جدید امکان پذیر باشد.
برای مثال اجرای کاهش حرارتی ، به اجرای مرجع مراجعه کنید.
به روز رسانی ها
قالب پرونده apex
Android Pony Express (APEX) یک قالب کانتینر جدید است که در جریان نصب برای اجزای سیستم مدولار استفاده می شود.
پارتیشن های پویا
پارتیشن های پویا یک سیستم پارتیشن بندی فضای کاربر را به Android معرفی می کنند و اجازه می دهند پارتیشن ها در طی به روزرسانی های OTA ایجاد ، تغییر اندازه یا نابود شوند. سازندگان دستگاه نیازی به نگرانی در مورد اندازه های جداگانه پارتیشن ها مانند system
، vendor
و product
ندارند. در عوض ، یک پارتیشن super
بزرگ اختصاص داده می شود ، و زیر بخش ها می توانند به صورت پویا در درون آن اندازه بگیرند.
به روزرسانی های سیستم پویا
به روزرسانی های سیستم Dynamic (DSU) به شما امکان می دهد یک تصویر سیستم اندرویدی را تهیه کنید که کاربران بتوانند از اینترنت بارگیری کنند و بدون خطر فاسد کردن تصویر سیستم فعلی امتحان کنند.
پشتیبان گیری از چند گوش و بازیابی
Android 10 از پشتیبان گیری و بازیابی عملکرد همه کاربران در یک دستگاه پشتیبانی می کند. پیش از این ، پشتیبان گیری و بازیابی فقط برای کاربر سیستم در دسترس بود. پشتیبان گیری و بازیابی برای کاربران Nonsystem به طور پیش فرض خاموش است زیرا فقط پوشش جزئی برای تنظیمات ، کاغذ دیواری و اجزای سیستم دارد.
روکش
کاربرانی که با userdebug
یا eng
Builds کار می کنند ، انتظار دارند که بتوانند پارتیشن سیستم را به عنوان خواندن نوشتن به طور موثر بازیابی کنند و سپس هر تعداد فایل را بدون بازتاب تصویر سیستم اضافه یا اصلاح کنند. می توانید از Overlayfs
استفاده کنید ، که به طور خودکار ذخیره پشتیبان را برای یک سیستم فایل قابل نوشتن به عنوان یک مرجع بالا تنظیم می کند و در قسمت پایین قرار می گیرد. این اقدامات در درخواست های adb disable-verity
و adb remount
اتفاق می افتد. برای اطلاعات بیشتر ، به Overlayfs Readme در AOSP مراجعه کنید.
پشتیبانی از کتابخانه مشترک در حالت بازیابی
در Android 10 ، کتابخانه های مشترک در پارتیشن بازیابی در دسترس هستند که نیاز به همه اجرایی حالت بازیابی را از بین می برد. کتابخانه های مشترک در فهرست /system/lib
(یا /system/lib64
برای دستگاه های 64 بیتی) در پارتیشن قرار دارند.
برای افزودن یک کتابخانه مشترک جدید به پارتیشن بازیابی ، recovery_available: true
یا recovery: true
to Android.bp
از کتابخانه مشترک. سابق این کتابخانه را هم به سیستم و هم برای پارتیشن های بازیابی نصب می کند ، در حالی که دومی آن را فقط در پارتیشن بازیابی نصب می کند.
پشتیبانی از کتابخانه مشترک را نمی توان با سیستم ساخت مبتنی بر آندروید ساخته شد. برای تبدیل یک استاتیک موجود برای حالت بازیابی به حالت پویا ، حذف LOCAL_FORCE_STATIC_EXECUTABLE := true
در Android.mk
یا static_executable: true
(در Android.bp
).
پاسگاه داده کاربر (UDC)
Android 10 ویژگی بازرسی داده های کاربر (UDC) را معرفی می کند ، که به Android اجازه می دهد تا در صورت عدم موفقیت به روزرسانی Android Over-the-Air (OTA) ، به حالت قبلی خود برگردد.