ملاحظات إصدار Android 10

تلخص هذه الصفحة الميزات الرئيسية في إصدار Android 10، وتوفر روابط لمعلومات إضافية. يتم تنظيم ملخصات الميزات هذه وفقًا لموقع وثائق الميزة على هذا الموقع.

يبني

java_sdk_library

يقدم Android 10 java_sdk_library ، وهي قاعدة إنشاء جديدة لإصلاح مشكلات التوافق لمكتبات Java المشتركة. يمكن لمصنعي الأجهزة استخدام هذه الآلية لمكتبات Java المشتركة الخاصة بهم للحفاظ على التوافق مع الإصدارات السابقة لواجهات برمجة التطبيقات الخاصة بهم.

بنيان

مكونات النظام المعياري

يقوم Android 10 بتقسيم بعض مكونات نظام Android ويتيح تحديثها خارج دورة إصدار Android العادية. بعض الوحدات تشمل:

طبقة تجريد الأجهزة (HAL)

يضيف Android 10 دعمًا لـ HALs ليتم إيقاف تشغيلها تلقائيًا عندما لا يكون لديها عملاء.

نواة

أبي

يتضمن Android 10 دعمًا لأدوات مساعدة جديدة لمراقبة ABI للمساعدة في مقارنة وتتبع وتخفيف تغييرات kernel ABI التي تؤثر على التوافق مع وحدات kernel.

يقدم Android 10 أيضًا مدقق استخدامات ABI القائم على الرموز. يمكن للمدقق اكتشاف الثنائيات القديمة التي تم إنشاؤها مسبقًا في وقت الإنشاء، بحيث يمكن لمطوري المكتبات المشتركة معرفة الثنائيات التي تم إنشاؤها مسبقًا والتي قد يتم كسرها بسبب تغييرها وأي الثنائيات التي تم إنشاؤها مسبقًا يجب إعادة بنائها.

برنامج Android Live-Lock الخفي

يتضمن Android 10 برنامج Android Live-Lock Daemon (llkd) ، المصمم لاكتشاف حالات الجمود في kernel وتخفيفها.

vDSO32 على ARM64

يدعم Android 10 استخدام vDSO32 على نواة 64 بت ، مما يوفر زيادة بنسبة 0.4 بالمائة في عمر البطارية وتحسينات أخرى في الأداء.

إدخالات fstab للأقسام المثبتة مبكرًا

يتطلب Android 10 من الأجهزة تحديد إدخالات fstab للأقسام التي تم تثبيتها مبكرًا باستخدام ملف fstab في قرص ذاكرة الوصول العشوائي للمرحلة الأولى.

هيدل

إلغاء تحميل قائمة انتظار البث

يتضمن Android 10 قائمة انتظار BroadcastQueue جديدة لإلغاء التحميل على الخلفية الحالية وقوائم الانتظار الأمامية . تتمتع قائمة انتظار التفريغ بنفس سلوك الأولوية والمهلة مثل قائمة انتظار الخلفية. لمنع حظر قائمة انتظار الخلفية، حيث يمكن أن تحدث عمليات بث أكثر إثارة للاهتمام أو مرئية للمستخدم، تعالج قائمة انتظار إلغاء التحميل البث BOOT_COMPLETED ، الذي تستمع إليه العديد من التطبيقات ويمكن أن يستغرق وقتًا طويلاً لإكماله. تتعامل قائمة انتظار إلغاء التحميل حاليًا مع البث BOOT_COMPLETED فقط، ولكن من المحتمل أن تتعامل مع عمليات البث الطويلة الأخرى.

خدمة تعليق النظام

يستبدل Android 10 الخيط الموجود في libsuspend المسؤول عن بدء تعليق النظام باستخدام خدمة SystemSuspend HIDL . يوفر هذا التنفيذ وظائف مكافئة للإصدارات السابقة مع الاستفادة من فوائد البنية الأساسية لنظام Android HIDL.

Safe_union في HIDL

يقدم Android 10 safe_union ، وهو نوع اتحاد ذو علامات واضحة في HIDL.

إعدادات

كونفيجستور هال

يقوم Android 10 بإهمال ConfigStore HAL بسبب الاستهلاك العالي للذاكرة وصعوبة الاستخدام، ويستبدل HAL بخصائص النظام .

واجهة برمجة تطبيقات مخطط ملف التكوين

يحتوي نظام Android الأساسي على عدد كبير من ملفات XML لتخزين بيانات التكوين. توجد العديد من ملفات XML في قسم vendor ، ولكن تتم قراءتها في قسم system . في هذه الحالة، يعمل مخطط ملف XML كواجهة عبر القسمين، وبالتالي يجب تحديد المخطط بشكل صريح ويجب أن يتطور بطريقة متوافقة مع الإصدارات السابقة. قبل Android 10، لم يوفر النظام الأساسي آليات لطلب تحديد مخطط XML واستخدامه، أو لمنع التغييرات غير المتوافقة في المخطط. يوفر Android 10 هذه الآلية، والتي تسمى Config File Schema API .

خصائص النظام كواجهات برمجة التطبيقات

يتم تخطيط خصائص النظام التي يتم الوصول إليها عبر الأقسام في ملفات وصف sysprop ، ويتم إنشاء واجهات برمجة التطبيقات للوصول إلى الخصائص كوظائف ملموسة لـ C++ وفئات لـ Java.

كائن واجهة البائع (VINTF).

VINTF

تتضمن التغييرات التي تم إجراؤها على VINTF في Android 10 ما يلي:

  • إهمال علامات إصدار AVB
  • إضافة معلومات النواة في حزم OTA
  • يظهر بناء ODM رسميًا
  • إضافة مصفوفة توافق المنتج
  • ربط إدخال البيان بوحدة HAL في نظام البناء

محمل الإقلاع

رامديسك

في Android 10، لم يعد نظام الملفات الجذر مدرجًا في ramdisk.img وتم دمجه بدلاً من ذلك في system.img .

بناء أقسام ODM

يتضمن Android 10 دعمًا لإنشاء أقسام odm باستخدام نظام إنشاء Android. يمكنك استخدام قسم /odm منفصل للتخصيصات، مما يمكّنك من استخدام صورة بائع واحد لوحدات SKU متعددة للأجهزة. يمكّن هذا الشركات المصنعة للتصميم الأصلي (ODMs) من تخصيص حزم دعم لوحة البائع (SoC) لأجهزتها المحددة (لوحاتها). يمكنهم تنفيذ وحدات kernel لمكونات خاصة باللوحة، أو شياطين خاصة باللوحة، أو ميزاتهم الخاصة على طبقات تجريد الأجهزة (HALs). يمكنهم أيضًا استبدال مكونات SoC أو تخصيصها.

إصدار رأس صورة التمهيد

يقوم Android 10 بتحديث رأس صورة التمهيد إلى الإصدار 2، والذي يتضمن قسمًا لتخزين صورة شجرة الجهاز الثنائية الكبيرة الحجم (DTB). تتحقق اختبارات Android 10 VTS من أن جميع الأجهزة التي يتم تشغيلها باستخدام Android 10 تستخدم الإصدار 2 من رأس صورة التمهيد وتتضمن صورة DTB صالحة كجزء من صور التمهيد/الاسترداد.

صور الاسترداد للأجهزة غير A/B

في نظام التشغيل Android 9 والإصدارات الأحدث، يجب أن تحتوي صورة استرداد الجهاز على معلومات من صورة التراكب . يمكن لمصنعي الأجهزة استخدام DeviceTree أو واجهة التكوين والطاقة المتقدمة (ACPI) لوصف كافة الأجهزة غير القابلة للاكتشاف. يتضمن نظام التشغيل Android 10 والإصدارات الأحدث دعمًا للبنيات التي تستخدم ACPI بدلاً من DeviceTree blob للتراكب (DTBO).

AIDL مستقر

يضيف Android 10 دعمًا للغة تعريف واجهة Android المستقرة (AIDL) ، وهي طريقة جديدة لتتبع واجهة برنامج التطبيق (API)/الواجهة الثنائية للتطبيق (ABI) التي توفرها واجهات AIDL.

انقل fastboot إلى مساحة المستخدم

يضيف Android 10 دعمًا للأقسام التي يمكن تغيير حجمها عن طريق نقل تطبيق Fastboot من أداة تحميل التشغيل إلى مساحة المستخدم.

عرض

تشغيل الفيديو بتقنية HDR

يدعم Android 10 تشغيل HDR10 وVP9 وHDR10+ .

تصنيف النص

يستخدم تصنيف النص تقنيات التعلم الآلي لمساعدة المطورين على تصنيف النص. يقدم Android 10 طريقتين لواجهة برمجة تطبيقات TextClassifier: suggestConversationActions وكشف detectLanguage . تنشئ طريقة suggestConversationActions ردودًا وإجراءات مقترحة من محادثة معينة وتكتشف طريقة detectLanguage لغة النص.

دعم تقديم الخط Zawgyi

Zawgyi هو الخط الأكثر شعبية في ميانمار. لا يدعم نظام Android 9 والإصدارات الأقدم عرض Zawgyi لأنه غير متوافق مع Unicode . يعالج Android 10 هذه المشكلة من خلال تضمين خط Unicode قادر على عرض كل من Unicode Burmese وZawgyi معًا. ليست هناك حاجة إلى أي أعمال تنفيذ لدعم عرض خط Zawgyi على الأجهزة التي تعمل بنظام التشغيل Android 10. إذا كانت أجهزتك تحتوي على تطبيق مخصص لدعم Zawgyi، فيمكنك:

  • قم بالتراجع عن هذه التغييرات واستخدم الطريقة المدعومة بالنظام الأساسي.
  • احتفظ بخط Zawgyi الشائع في نظامك واستخدم الكود المحلي my-qaag في fonts.xml الخاص بك. لمزيد من المعلومات، راجع ملاحظات إصدار Unicode CLDR على Zawgyi (Qaag) .

قيود إخفاء أيقونات التطبيقات

يحد Android 10 من قدرة التطبيقات على إخفاء أيقونات المشغل الخاصة بها. إذا لم يتم تمكين نشاط المشغل في أحد التطبيقات، فسيعرض النظام نشاطًا مركبًا في المشغل؛ يمثل هذا النشاط المركب صفحة تفاصيل التطبيق ضمن إعدادات النظام.

لمزيد من المعلومات حول المنطق المستخدم لإظهار أيقونات التطبيقات، بما في ذلك أنواع التطبيقات التي لا تظهر أيقونات التطبيقات الخاصة بها، راجع وثائق getActivityList() في مرجع API.

إعدادات

لتحسين إمكانية الوصول، يتضمن Android 10 إعدادات مهلة قابلة للتخصيص من قبل المستخدم. تأتي تغييرات واجهة برمجة التطبيقات والإعدادات مع Android 10. إذا قمت بتخصيص إعداداتك، فتأكد من دعم هذه الميزة. إذا كانت لديك عناصر واجهة مستخدم انتهت مهلتها على جهازك، فاستخدم واجهة برمجة تطبيقات المهلات عليها. لمزيد من المعلومات، راجع إرشادات إمكانية الوصول لمطوري Android .

التوافق

مستند تعريف توافق Android (CDD)

يتكرر مستند تعريف التوافق لنظام Android 10 على الإصدارات السابقة مع تحديثات للميزات الجديدة والتغييرات على متطلبات الوظائف التي تم إصدارها مسبقًا.

الاختبارات

مجموعة اختبار التوافق (CTS)

يحتوي Android CTS على صفحة ملاحظات إصدار منفصلة تسرد العديد من التغييرات المهمة لنظام Android 10.

تنزيلات سي تي اس

تتوفر حزم CTS التي تدعم Android 10 على صفحة تنزيلات CTS . يمكن مزامنة الكود المصدري للاختبارات المضمنة مع علامة android-cts-10_r1 في الشجرة مفتوحة المصدر.

CTS شيم أبيكس

يقدم Android 10 حزمة تسمى CtsShimApex ، والتي يجب تثبيتها مسبقًا على الجهاز لكتابة اختبارات CTS لإدارة APEX.

وضع تسخير الاختبار

يساعد وضع أداة اختبار CTS المطورين على أتمتة الاختبار لجهاز أو مجموعة من الأجهزة.

وضع التطبيقات الفورية

بدءًا من Android 10، يعمل CTS في وضع التطبيقات الفورية ، مما يعني تثبيت APK الاختباري كتطبيق فوري وتشغيل الاختبارات.

بالإضافة إلى وضع CTS للتطبيقات الفورية، يتضمن Android 10 أداة CTS Verifier للتطبيقات الفورية

اختبار الصوت CTS Verifier pro

يضيف Android 10 اختبار CTS Verifier للامتثال لـ Pro Audio .

اختبارات MIDI للتحقق من CTS

في Android 10، يختبر اختبار CTS Verifier MIDI وظائف MIDI مع واجهات USB MIDI وواجهات Bluetooth MIDI ومسار جهاز MIDI الظاهري.

تفسير اختبار CTS

يقوم Android 10 بتحديث آلية تفسير نتائج CTS .

مجموعة اختبار البائع (VTS)

اختبار VTS باستخدام قرص تصحيح الأخطاء

في Android 10، تتغير صورة النظام العامة (GSI) المستخدمة لتشغيل اختبار الامتثال لـ CTS-on-GSI/VTS من userdebug إلى نوع إصدار المستخدم، لأن GSI موقعة على الإصدار. ومع ذلك، فإن أمر adb root الذي يمنح أذونات جذر المضيف لجهاز Android قيد الاختبار غير متوفر في إصدار المستخدم. هذه مشكلة لأن VTS يتطلب adb root للتشغيل.

تم تقديم قرص تصحيح الأخطاء لجعل adb root ممكنًا، إذا كان الجهاز مفتوحًا. يعمل هذا على تبسيط تدفق الاختبار عن طريق إعادة استخدام نفس بنية المستخدم system.img (إما GSI أو system.img الخاص بشركة OEM).

التحقق من صحة مؤلف الأجهزة

يضيف Android 10 فئة اختبار VTS جديدة للتحقق من صحة مؤلف الأجهزة من خلال واجهة readback في IComposerClient.hal . إذا لم ينفذ البائعون readback ، فسيتم تمرير الاختبارات تلقائيًا.

تصحيح الأخطاء

تحميل المكتبات المشتركة مع محمل فئة مختلفة

في نظام التشغيل Android 9 والإصدارات الأقدم، قامت التطبيقات بتحميل مكتبات Java المشتركة المرتبطة بها في أداة تحميل فئة التطبيق. في Android 10، يستخدم إطار العمل مُحمل فئة مختلفًا عن مُحمل فئة التطبيق لتحميل مكتبات Java المشتركة المرتبطة من خلال uses-library أو uses-static-library .

بشكل عام، لا ينبغي أن تعتمد التطبيقات على استخدام أداة تحميل فئة معينة، لذلك لا ينبغي أن يؤدي هذا التغيير إلى تعطيل سلوك التطبيق. ومع ذلك، إذا كان التطبيق يعتمد على استخدام أداة تحميل فئة واحدة، فسيتم كسر هذا السلوك. بالإضافة إلى ذلك، لا تزال إمكانية رؤية الحزمة الخاصة للفئات الموجودة في نفس الحزمة مدعومة، ولكنها غير مدعومة في المكتبات المشتركة.

قد تواجه الشركات المصنعة للأجهزة مشكلات في توافق التطبيقات أثناء اختبار أجهزتها التي تعمل بنظام التشغيل Android 10.

ميزات الأمان

للحصول على قائمة أكثر اكتمالاً بالتحسينات المتعلقة بالأمان والخصوصية فقط، راجع صفحة تحسينات الأمان والخصوصية في Android 10 .

مصادقة الوجه

تتيح مصادقة الوجه للمستخدمين فتح قفل أجهزتهم بمجرد النظر إلى الجزء الأمامي من أجهزتهم. يضيف Android 10 دعمًا لمكدس مصادقة الوجه الجديد الذي يمكنه معالجة إطارات الكاميرا بشكل آمن، والحفاظ على الأمان والخصوصية أثناء مصادقة الوجه على الأجهزة المدعومة. يوفر Android 10 أيضًا طريقة سهلة للتطبيقات المتوافقة مع الأمان لتمكين تكامل التطبيق للمعاملات مثل الخدمات المصرفية عبر الإنترنت أو الخدمات الأخرى.

وصول موسع

يمكن للوكلاء الموثوقين، وهم الآلية الأساسية التي تستخدمها آليات المصادقة الثالثة مثل Smart Lock، تمديد فتح القفل فقط في Android 10. ولم يعد بإمكان الوكلاء الموثوقين فتح قفل جهاز مقفل ويمكنهم فقط إبقاء الجهاز مفتوحًا لمدة أربع ساعات كحد أقصى.

التشفير

OEMCrypto

يستخدم Android 10 الإصدار 15 من واجهة برمجة تطبيقات OEMCrypto.

اختبارات

مطهر الحدود

ينشر Android 10 BoundsSanitizer (BoundSan) في البلوتوث وبرامج الترميز. يستخدم BoundSan مطهر حدود UBSan. يتم تمكين هذا التخفيف على مستوى كل وحدة نمطية. فهو يساعد في الحفاظ على أمان المكونات الهامة لنظام Android ويجب عدم تعطيله. يتم تمكين BoundSan في برامج الترميز التالية:

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

تعقيم الفائض الصحيح

يعمل Android 10 على تمكين Integer Overflow Sanitization (IntSan) في برامج الترميز. تأكد من أن أداء التشغيل مقبول لأي برامج ترميز غير مدعومة في أجهزة الجهاز. يتم تمكين IntSan في برامج الترميز التالية:

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

ذاكرة للتنفيذ فقط

افتراضيًا، يتم وضع علامة على أقسام التعليمات البرمجية القابلة للتنفيذ لثنائيات نظام AArch64 للتنفيذ فقط (غير قابلة للقراءة) كتخفيف من حدة هجمات إعادة استخدام التعليمات البرمجية في الوقت المناسب. لم تعد التعليمات البرمجية التي تمزج البيانات والتعليمات البرمجية معًا والتعليمات البرمجية التي تفحص هذه الأقسام عن قصد (دون إعادة تعيين شرائح الذاكرة أولاً لتكون قابلة للقراءة) تعمل. تتأثر التطبيقات التي تحتوي على SDK مستهدف لنظام Android 10 (مستوى واجهة برمجة التطبيقات 29 أو أعلى) إذا حاول التطبيق قراءة أقسام التعليمات البرمجية في مكتبات النظام التي تم تمكينها في ذاكرة التنفيذ فقط (XOM) في الذاكرة دون وضع علامة على القسم أولاً على أنه قابل للقراءة.

سكودو

Scudo هو مخصص ذاكرة ديناميكي لوضع المستخدم مصمم ليكون أكثر مرونة في مواجهة الثغرات الأمنية المرتبطة بالكومة. وهو يوفر أساسيات تخصيص C القياسية وإلغاء التخصيص، بالإضافة إلى أساسيات C++.

ShadowCallStack

ShadowCallStack (SCS) هو وضع أدوات LLVM يحمي من عمليات الكتابة فوق عنوان الإرجاع (مثل تجاوز سعة المخزن المؤقت للمكدس) عن طريق حفظ عنوان إرجاع الوظيفة إلى مثيل ShadowCallStack المخصص بشكل منفصل في برولوج الوظائف للوظائف غير الورقية وتحميل عنوان الإرجاع من مثيل ShadowCallStack في الخاتمة الوظيفية.

صوتي

الصوت هال

يتضمن Android 10 القدرات الجديدة التالية لـ HAL الصوتي .

  • AudioSource
  • AudioFormat
  • AudioChannelMask

تتم إضافة متطلبات إضافية لتطبيق HAL الصوتي والنظام الفرعي.

تأثيرات المعالجة المسبقة

يوفر Android تأثيرات المعالجة المسبقة ، مثل إلغاء الصدى الصوتي، والتحكم التلقائي في الكسب، وقمع الضوضاء. يتضمن Android 10 متطلبات جديدة للالتقاط باستخدام VOICE_COMMUNICATION .

مدير السياسة الصوتية

يتضمن Android 10 إعادة هيكلة مهمة لمدير سياسة الصوت لتوفير المزيد من المرونة لدعم حالات الاستخدام المعقدة للسيارات.

صوت عالي الدقة

يتضمن Android 10 التحسينات التالية للصوت عالي الدقة .

  • تعويم الدعم
  • دعم تردد 192 كيلو هرتز
  • دعم ثماني قنوات
  • إدراج معلومات التوقيت

الالتقاط المتزامن

يعمل Android 10 على تحسين تجربة مستخدم الالتقاط المتزامن الذي يتطلب حدوث أكثر من التقاط صوتي نشط في وقت واحد.

التقاط تشغيل الصوت

يحتوي Android 10 على واجهة برمجة تطبيقات جديدة تسمى AudioPlaybackCapture ، والتي تمنح التطبيقات القدرة على نسخ الصوت الذي يتم تشغيله بواسطة تطبيقات أخرى. هذه الميزة مشابهة لالتقاط الشاشة، ولكن للصوت. حالة الاستخدام الأساسية هي تمكين تطبيقات البث من التقاط الصوت الذي يتم تشغيله بواسطة الألعاب.

لا تؤثر واجهة برمجة تطبيقات الالتقاط على زمن استجابة التطبيق الذي يتم التقاط الصوت الخاص به.

ميدي

يعمل Android 10 على تسهيل نقل التطبيقات الصوتية الاحترافية باستخدام MIDI إلى نظام Android الأساسي باستخدام AMidi NDK API .

آلة تصوير

للحصول على ملخص للتغييرات التي تم إجراؤها على واجهة برمجة تطبيقات الكاميرا وHAL للكاميرا ووحدة الكاميرا المقدمة في Android 10، راجع تحديثات كاميرا Android 10 .

تحسينات خصوصية إطار الكاميرا

يقدم Android 10 تحسينات الخصوصية لإطار عمل الكاميرا. لتجنب الكشف عن معلومات الكاميرا الثابتة التي يحتمل أن تكون حساسة في CameraCharacteristics دون موافقة المستخدم، يجب أن تحصل التطبيقات على إذن CAMERA لاسترداد البيانات التعريفية الثابتة باستخدام علامة حساسة للخصوصية باستخدام طريقة getCameraCharacteristics .

للحصول على قائمة بمفاتيح خصائص الكاميرا التي تتطلب إذن CAMERA ، اتصل بالطريقة getKeysNeedingPermission .

استعلام إعادة تكوين الجلسة

يضيف Android 10 ميزة الاستعلام عن إعادة تكوين الجلسة ، مما يسمح بتحسين الأداء من خلال المزيد من التحكم في منطق إعادة تكوين معلمة الجلسة الداخلية.

واجهات برمجة التطبيقات لإدارة المخزن المؤقت للكاميرا HAL3

يقدم Android 10 واجهات برمجة تطبيقات إدارة المخزن المؤقت HAL3 للكاميرا الاختيارية التي تسمح لك بتنفيذ منطق إدارة المخزن المؤقت لتحقيق ذاكرة مختلفة والتقاط مقايضات زمن الاستجابة في تطبيقات HAL للكاميرا.

كاميرا HAL تبديل الكاميرا المادية الديناميكية

يقدم Android 10 علامة بيانات وصفية ديناميكية، ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID ، والتي تشير إلى الكاميرا الفعلية الأساسية النشطة لجهاز الكاميرا المنطقية. لمزيد من المعلومات، راجع دعم الكاميرات المتعددة .

دعم لإخفاء الكاميرات المادية

في Android 10، يمكن لكاميرا HAL تقليل عدد الكاميرات الفعلية التي يمكن فتحها مباشرة بواسطة التطبيق. لمزيد من التفاصيل، راجع دعم الكاميرات المتعددة .

واجهة برمجة تطبيقات Camera2 VNDK

في 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 مع الإصدار 3.5 من جهاز الكاميرا HAL الإصدار 3.5 isStreamCombinationSupported() للسماح للتطبيقات بالاستعلام عما إذا كانت مجموعة الدفق التي تحتوي على التدفقات المادية مدعومة أم لا.

لمزيد من المعلومات، راجع دعم الكاميرات المتعددة .

تصوير HEIF

يوفر Android 10 دعمًا أصليًا للكاميرا للصور ذات تنسيق ملفات الصور عالية الكفاءة (HEIF) ، والتي توفر جودة صورة محسنة وأحجامًا أصغر مقارنة بصور JPEG. يجب أن تحتوي الأجهزة على برنامج تشفير HEIC أو HEVC لدعم صور HEIF.

كاميرات أحادية اللون

يوفر Android 10 دعمًا إضافيًا لتنسيق البث Y8 والبيانات الوصفية الثابتة لمصفوفة مرشح الألوان أحادية اللون والأشعة تحت الحمراء القريبة (NIR)، ووظائف DngCreator للكاميرات أحادية اللون .

الاتصال

الاتصال والمراسلة

أرقام الطوارئ ومكالمات الطوارئ

يوفر Android 10 دعمًا محسنًا لمكالمات الطوارئ . في حالات الطوارئ، يمكن للأجهزة التي تدعم IRadio HAL v1.4 بدء مكالمة طوارئ باستخدام أرقام الطوارئ المستردة من مصدر مثل بطاقة SIM أو إشارة الشبكة أو قاعدة بيانات Android. يمكن تصنيف الأرقام بناءً على فئات خدمات الطوارئ مثل الشرطة والإطفاء والإسعاف.

واجهات برمجة تطبيقات الاتصال الجماعي

تعد واجهات برمجة تطبيقات الاتصال الجماعي امتدادًا لواجهات برمجة تطبيقات eMBMS المضافة في Android 9. تحدد واجهات برمجة التطبيقات الجديدة معيارًا للتطبيقات للانضمام والبث على مكالمات مجموعة البث الخلوي من خلال التفاعل مع حزم البرامج الوسيطة لـ eMBMS. تتطلب المكالمات الجماعية دعمًا من بائع مجموعة الشرائح وبائع البرامج الوسيطة وشركة الاتصالات الخلوية لتعمل بشكل صحيح. توجد وثائق المطور على موقع Developer.google.com .

قدرات SIM عن بعد

يقدم Android 10 إمكانات SIM عن بعد التي تسمح لتطبيقات المراسلة على جهاز مضيف يعمل بنظام Android بإرسال رسائل SMS عبر الهواتف باستخدام آليات مثل Bluetooth. لمزيد من المعلومات، راجع الوثائق المرجعية لأسلوب getSubscriptionType وثابت SUBSCRIPTION_TYPE_REMOTE_SIM .

شرائح eSIM متعددة

في Android 10، تدعم فئة EuiccManager الأجهزة ذات شرائح SIM المدمجة المتعددة (eSIMs) أو eUICCs.

تحديثات شريحة eSIM

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 10 والتي تدعم شرائح eSIM، يجب تحديد مصفوفة معرف فتحة eUICC غير القابلة للإزالة. يجب أن تدعم الأجهزة أيضًا IRadio HAL v1.4 وIRadioConfig HAL v1.2. لمزيد من المعلومات، راجع تنفيذ متطلبات eSIM وHAL .

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

يضيف Android 10 دعمًا لشبكات الجيل الخامس غير المستقلة (NSA) . يعد 5G NSA حلاً لشبكات 5G حيث يتم دعم الشبكة بواسطة بنية تحتية 4G موجودة. في نظام التشغيل Android 10، يمكن للأجهزة عرض رمز 5G على شريط الحالة عندما يتصل الجهاز بشبكة 5G.

اقتراح حساب الهاتف

يقدم Android 10 خدمة اقتراحات حسابات الهاتف ، والتي تتيح عرض اقتراحات حسابات الهاتف للمستخدمين عند إجراء مكالمة.

الناقل

ترحيل إعدادات شبكة الجوال

قام Android 10 بإعادة تصميم رمز واجهة المستخدم لإعدادات شبكة الهاتف المحمول ونقله من مكدس الاتصالات الهاتفية إلى مكدس الإعدادات. لدعم التعليمات البرمجية التي تم ترحيلها، قم بتغيير قيم تكوين إعدادات شبكة الجوال التالية من موارد 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 وSIM يتم توفيرهما من قبل شركة الاتصالات، يتم منح الوصول إلى هذه المعرفات للحزم التي تتمتع بامتيازات الناقل.

واي فاي

اختيار الشبكة

يقوم Android باستمرار بتقييم جودة الشبكة المتصلة وتقييم جودة الشبكات المتاحة. يحتوي Android 10 على خوارزميات وإجراءات محدثة للاختيار والتبديل بين شبكات Wi-Fi .

مسح تفريغ الشبكة المفضلة لشبكة Wi-Fi

يقدم Android 10 طريقة API اختيارية تسمى setDeviceMobilityState() في WifiManager والتي تعمل على زيادة الفاصل الزمني بين عمليات فحص إلغاء تحميل الشبكة المفضلة (PNO) عندما يكون الجهاز ثابتًا لتقليل استخدام الطاقة.

الناقل واي فاي

في نظام التشغيل Android 10، تتصل الأجهزة المزودة بميزة Wi-Fi الخاصة بشركة الاتصالات تلقائيًا بشبكات Wi-Fi الخاصة بشركة الاتصالات التي تم تكوينها (الشبكات ذات شهادات المفتاح العام).

اتصال واي فاي سهل

في Android 10، يمكن للأجهزة استخدام Wi-Fi Easy Connect ، الذي يستخدم بروتوكول توفير الجهاز (DPP) الذي قدمه تحالف Wi-Fi (WFA)، لتوفير أجهزة Wi-Fi وتكوينها.

وضع الكمون المنخفض لشبكة Wi-Fi

يقدم Android 10 وضع Wi-Fi منخفض الكمون ، والذي يقوم بتكوين شريحة Wi-Fi لتقليل زمن الاستجابة.

تم تحديث خادم DHCP

كجزء من تشكيل مظلة خدمة "IP Server"، يتم حذف dnsmasq . يستبدل Android 10 الاستخدام الوظيفي لخادم DHCPv4 بمكون منفصل، مكتوب بشكل أساسي بلغة Java للتكامل بشكل أفضل مع مستوى التحكم في إطار عمل Java. يؤدي ذلك إلى تحسين الأمان وقابلية التحديث لخادم DHCP. لمزيد من التفاصيل، راجع packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java .

لا يلزم اتخاذ أي إجراء لتنفيذ هذا التغيير: جميع الأجهزة التي يتم إصدارها وترقيتها إلى Android 10 تستخدم DhcpServer افتراضيًا. إذا كانت لديك تخصيصات لخادم DHCP، فيمكنك العودة إلى سلوك Android 9 عن طريق تعيين الإعداد العام tether_enable_legacy_dhcp_server=1 . تم تضمين DhcpServer الجديد في وحدة مكونات الشبكة، لذلك يجب نقل أي تخصيص لوظيفة خادم DHCP.

فتح WPA3 وWi-Fi المحسن

يضيف 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

يقدم Android 10 دعمًا لميزات Passpoint R2 . يقوم Passpoint R2 بتنفيذ التسجيل عبر الإنترنت (OSU)، وهي طريقة قياسية لتوفير ملفات تعريف Passpoint الجديدة. يدعم Android 10 توفير ملفات تعريف EAP-TTLS باستخدام SOAP-XML.

نفك

تأمين NFC

يسمح Secure NFC بتمكين محاكاة بطاقة NFC خارج المضيف فقط عند إلغاء قفل شاشة الجهاز. يتيح تنفيذ هذه الميزة للمستخدمين خيار تمكين Secure NFC لتحسين الأمان.

تم إهمال Android Beam

في Android 10، لم يعد Android Beam مطلوبًا وتم إهمال الواجهات والأساليب التالية.

واجهات:

طُرق:

لاستخدام Android Beam، قم بالإبلاغ عن ثابت ميزة android.sofware.nfc.beam .

الرسومات

التحكم في السطح

يضيف Android 10 طريقة ASurfaceControl ، وهي طريقة جديدة لقبول SurfaceFlinger للمخازن المؤقتة.

تنفيذ الرسومات

طبقات OpenGL ES

يقدم Android 10 نظام طبقات لـ GLES.

إجل 1.5

يطبق Android 10 واجهة EGL 1.5 . للحصول على معلومات حول الميزات الجديدة في EGL 1.5، راجع مواصفات إصدارات Khronos EGL 1.5 .

فولكان

يتضمن Android 10 دعمًا لرسومات Vulkan 1.1. يدعم النظام الأساسي أيضًا VK_KHR_swapchain v70، لذا فإن تطبيق Vulkan قادر على إنشاء VkImage مدعومة بذاكرة المبادلة.

معدل تحديث الأداء

يضيف Android 10 دعمًا لمعدل تحديث الأداء. يتم إيقاف تشغيل هذه الميزة بشكل افتراضي.

تفاعل

السيارات

صوت السيارات

في Android 10، يتم تعيين سياق Audio HAL إلى AudioAttributes.usage للتعرف على الأصوات. يدعم Android مثيل AUDIO_DEVICE_OUT_BUS واحد لكل سياق. يوفر IAudioControl HAL امتدادات خاصة بالمركبة لـ Audio HAL .

الملاحة الإيمائية

يقدم Android 10 خيارًا للتنقل عبر الإيماءات بشكل كامل. للحصول على معلومات حول كيفية إعداد التطبيقات لاستخدام هذه الميزة، راجع صفحة التنقل الإيمائي على موقع Android Developer.

الشبكات العصبية

يقدم Android 10 تحديثات لـ Neural Networks API وNeural Networks HAL. للحصول على ملخص للتغييرات، راجع الشبكات العصبية .

وثائق الشبكات العصبية الجديدة والمحدثة لنظام Android 10:

أجهزة الاستشعار

أجهزة الاستشعار هال 2.0

تدعم أجهزة الاستشعار HAL 2.0 استخدام قوائم انتظار الرسائل السريعة (FMQs) لإرسال أحداث المستشعر من HAL إلى Android Sensors Framework.

أجهزة الاستشعار معطلة

يتضمن Android 10 إعدادًا للمطور لإيقاف تشغيل جميع أجهزة الاستشعار الموجودة على الجهاز. تساعد هذه الميزة المطورين على اختبار وظائف تطبيقاتهم في المواقف التي تصبح فيها هذه المستشعرات غير متوفرة، كما توفر للمستخدمين طريقة للتحكم في المستشعرات الموجودة في أجهزتهم.

إذا كانت أجهزتك تستخدم التنفيذ الافتراضي لـ SensorService و CameraService و AudioPolicyService ، فلن تكون هناك حاجة إلى تخصيص إضافي للتصميم المرجعي. إذا كان لديك أجهزة استشعار أخرى، فراجع التخصيص للحصول على مزيد من التفاصيل حول دعم هذه الميزة.

وسائط

مكونات الوسائط القابلة للتحديث

يوفر Android 10 مكونات وسائط قابلة للتحديث تتيح تحديث مكونات النظام المعيارية المتعلقة بالوسائط من خلال البنية التحتية لمتجر Google Play أو من خلال آلية البث المباشر (OTA) التي يوفرها الشريك.

إدارة الحقوق الرقمية للوسائط

يعمل Android 10 على تحسين فائدة وسهولة استخدام واجهات برمجة تطبيقات MediaDrm Java وNDK.

فك التشفير

يدعم Android 10 فك تشفير AV1 SW.

الأذونات

يوفر Android 10 تكوينات أذونات إضافية للشفافية وخصوصية المستخدم.

مزود الاتصالات والمعلومات الانتماءات

بدءًا من Android 10، يتم الوصول إلى البيانات المتعلقة بجهات الاتصال، والتي تتم إدارتها بواسطة مكون موفر جهات الاتصال ، بشكل مختلف عما هو عليه في Android 9 والإصدارات الأقدم. تعمل هذه التغييرات المتعلقة بإمكانية الوصول إلى البيانات على تحسين خصوصية المستخدم في جميع أجهزة Android 10 التي تستخدم مكون موفر جهات الاتصال. لم تعد قاعدة البيانات الأساسية تحتوي على بيانات ارتباطات جهات الاتصال. لذلك لا يمكن للتطبيقات الكتابة إليه أو القراءة منه.

من المتوقع أن يكون للتغييرات في Android 10 تأثير كبير على واجهات برمجة التطبيقات. إذا كانت تطبيقاتك تعتمد على الميزات المهملة المذكورة في موفر جهات الاتصال ومعلومات الارتباطات، فقد ترغب في تحديث تطبيقاتك للتعويض عن أي تغييرات. بالإضافة إلى ذلك، إذا كنت تستخدم إصدارًا متشعبًا من موفر جهات الاتصال، فيجب عليك تحديث موفر جهات الاتصال لديك.

أذونات الموقع الثلاثي

تمنح أذونات الموقع الثلاثي في ​​Android 10 المستخدمين مزيدًا من التحكم في كيفية وصول التطبيقات إلى مواقع أجهزتهم.

تذكير الوصول إلى الموقع في الخلفية

يتميز Android 10 بتذكير موقع الوصول في الخلفية ، مما يزيد من الشفافية في مقدار وصول التطبيقات إلى موقع الجهاز ويساعد المستخدمين في الحفاظ على التحكم في هذا الوصول.

تقييد المواقع الانتهازية

عندما يطلب أحد التطبيقات تحديد موقع الجهاز، يمكن للتطبيق إما انتظار استجابة الطلب أو الحصول على تحديث موقع انتهازي باستخدام مستمعي الموقع النشطين. بدءًا من Android 10، للحصول على تحديثات الموقع الانتهازية ، يجب على المطورين تحديد أنهم بحاجة إلى تحديثات الموقع السلبية من فئة FusedLocationProviderClient .

إطلاق تطبيقات الخلفية

في Android 10، لا يمكن للتطبيقات غير المميزة التي لا تحتوي على نافذة مرئية تشغيل نفسها تلقائيًا في المقدمة. يمنع هذا التغيير النوافذ المنبثقة للإعلانات وعمليات الاستحواذ الضارة. لا يلزم اتخاذ أي إجراء لتمكين هذا.

وضع الحماية للتطبيق

في Android 10، تتمتع التطبيقات بعرض أولي محدود لنظام الملفات، مع عدم وجود وصول مباشر إلى مسارات مثل /sdcard/DCIM . ومع ذلك، تحتفظ التطبيقات بالوصول الأولي الكامل إلى مسارات الحزمة الخاصة بها، كما يتم إرجاعها بواسطة أي طرق قابلة للتطبيق مثل Context.getExternalFilesDir() . لا تزال التطبيقات تتمتع بإمكانية الوصول الأولي الكامل إلى المسارات الخاصة بالحزمة الخاصة بها.

استخدم إرشادات وضع الحماية للتطبيق لمشاركة الملفات لتوفير الدقة المناسبة لمشاركة البيانات.

تقييد الوصول إلى حافظة التطبيق

في Android 10، تم تغيير الوصول إلى الحافظة بحيث لا يمكن مشاهدة محتوى الحافظة عن طريق الاتصال بـ ClipboardManager.getPrimaryClip أو عن طريق إضافة مستمع onPrimaryClipChangedListener للإشعار عند تغيير الحافظة. يؤدي هذا إلى زيادة خصوصية المستخدم وتعطيل التطبيقات الضارة من تعديل الحافظة.

في Android 10، يُسمح بالوصول للقراءة فقط إما إلى التطبيق الحالي مع تركيز الإدخال، أو على لوحة المفاتيح الحالية. يتم الآن تشغيل استدعاء المستمع ClipboardManager.onPrimaryClipChanged() فقط للتطبيقات التي تستوفي هذه القيود. يعرض ClipboardManager.getPrimaryClip و ClipboardManager.getPrimaryClipDescription null إذا لم يكن التطبيق الطالب هو محرر أسلوب الإدخال الافتراضي (IME)، أو لم يكن لديه تركيز على الإدخال.

تتضمن أذونات وقت التشغيل التعرف على النشاط

يرى المستخدمون الآن مربع حوار التعرف على النشاط عندما يصل أحد التطبيقات إلى موقع الجهاز في الخلفية. يجب إدراج أذونات وقت التشغيل المقيدة بشدة في القائمة البيضاء بشكل صحيح في Android 10.

إذن MANAGE_DEVICE_ADMINS

يقوم Android 10 بتغيير إذن MANAGE_DEVICE_ADMINS من التوقيع أو امتياز التوقيع فقط. وهذا يعني أن التطبيقات الموقعة على النظام الأساسي هي فقط التي يمكنها تعيين تطبيقات أخرى كمسؤول للجهاز.

تحسينات واجهة برمجة التطبيقات المشتركة

يوفر Android 10 عددًا من ميزات Android Platform API الجديدة المتعلقة بالمشاركة . إذا قمت بتعديل رمز ورقة المشاركة في التنفيذ الخاص بك، فتأكد من أن التنفيذ الخاص بك يدعم هذه الميزات الجديدة. إذا لم تقم بتعديل كود ورقة المشاركة في التنفيذ الخاص بك، فلن تحتاج إلى القيام بأي شيء لدعم هذه الميزات الجديدة.

وقت تشغيل أندرويد (ART)

التكوين الموقع

تسمح ميزة Signed Config بتضمين تكوين قيود واجهة غير SDK في ملفات APK. يتيح ذلك إزالة واجهات معينة غير SDK من القائمة السوداء، حتى يتمكن AndroidX من استخدامها بأمان. مع هذا التغيير، يمكن لنظام AndroidX إضافة دعم للميزات الجديدة في إصدارات Android الأقدم.

أداء

طبقة تجريد Cgroup

يتضمن Android 10 طبقة تجريد cgroup وملفات تعريف المهام، والتي يمكن للمطورين استخدامها لوصف مجموعة من القيود لتطبيقها على سلسلة رسائل أو عملية.

البرنامج الخفي القاتل للذاكرة المنخفضة (lmkd)

يدعم Android 10 وضع lmkd الجديد الذي يستخدم شاشات معلومات توقف ضغط kernel (PSI) للكشف عن ضغط الذاكرة.

قوة

إدارة طاقة المنصة

في Android 10، يمكن تمكين وضع Doze على الأجهزة التي تعمل دائمًا وكذلك على الأجهزة التي تعمل بالبطارية.

توفير البطارية الروتيني

يقدم Android 10 خيارًا جديدًا لجدول توفير طاقة البطارية يُسمى استنادًا إلى الروتين . يسمح موفر البطارية الروتيني للتطبيق الذي تختاره الشركة المصنعة الأصلية بتقديم إشارات إلى النظام من أجل جدولة توفير طاقة البطارية بشكل أكثر ذكاءً. يتطلب هذا الخيار التكوين، وهو اختياري للتنفيذ.

إحصائيات الطاقة هال

في Android 10، يحل IPowerStats.hal محل واجهات برمجة التطبيقات لمجموعة إحصائيات الطاقة في IPower.hal . على الرغم من أن طاقة HAL لا تزال تدعم واجهات برمجة التطبيقات، إلا أنه سيتم ترحيلها حصريًا إلى HAL لإحصائيات الطاقة في المستقبل.

يتضمن HAL لإحصائيات الطاقة واجهات برمجة تطبيقات جديدة لدعم جمع البيانات من قياس الطاقة على الجهاز للأجهزة المدعومة. يتم أيضًا تحديث واجهات برمجة التطبيقات الحالية لمجموعة إحصائيات الطاقة لتحسين المرونة. تبقى واجهات برمجة تطبيقات التلميح السلطة في السلطة ولا تتغير.

التخفيف الحراري

الإطار الحراري في واجهات جهاز Android 10 ملخصات لمستشعر درجة حرارة النظام الفرعي الحراري ، بما في ذلك وحدة المعالجة المركزية و GPU والبطارية والجلد وجهاز التبريد. يقدم Framework واجهة اقتراع للاستعلام عن الحالة الحرارية لبدء الاختناق ، وواجهة رد الاتصال لإرسال رسالة إلى المستخدم عند تجاوز عتبة.

يوفر Android 10 أنواع البيانات الجديدة من خلال واجهة IThermalService باستخدام هذه الطرق الثلاثة الجديدة:

تضيف التطبيقات وإزالة المستمعين والوصول إلى حالة درجة الحرارة في فئة PowerManager . فقط خدمة النظام الموثوق بها مثل واجهة برمجة تطبيقات Android أو API المصنعة للأجهزة يمكنها الوصول إلى معلومات حول الأحداث السببية المرتبطة بها. يجب على الشركات المصنعة للأجهزة أو صانعي SOC تطبيق thermal HAL 2.0 لتمكين الوظائف الكاملة للإطار الحراري الجديد.

للحصول على مثال تنفيذ التخفيف الحراري ، راجع التنفيذ المرجعي .

التحديثات

تنسيق ملف Apex

Android Pony Express (APEX) هو تنسيق حاوية جديد يستخدم في تدفق التثبيت لمكونات النظام المعياري.

أقسام ديناميكية

تقدم الأقسام الديناميكية نظام تقسيم مساحة المستخدمين إلى Android ، مما يسمح بإنشاء أقسام أو تغيير حجمها أو تدميرها أثناء تحديثات OTA. لا يتعين على صانعي الأجهزة القلق بشأن الأحجام الفردية للأقسام ، مثل system vendor product . بدلاً من ذلك ، يتم تخصيص قسم كبير واحد super ، ويمكن أن يكون الحجم الفرعي ديناميكيًا.

تحديثات النظام الديناميكي

تتيح لك تحديثات النظام الديناميكي (DSU) إنشاء صورة لنظام Android يمكن للمستخدمين تنزيلها من الإنترنت ومحاولة الخروج دون خطر إفساد صورة النظام الحالية.

النسخ الاحتياطي متعدد النطق والاستعادة

يدعم Android 10 وظائف النسخ الاحتياطي واستعادة جميع المستخدمين على الجهاز. في السابق ، كانت النسخ الاحتياطي والاستعادة متاحين فقط لمستخدم النظام. يتم إيقاف تشغيل النسخ الاحتياطي والاستعادة للمستخدمين غير النظامية بشكل افتراضي لأنه يحتوي على تغطية جزئية فقط للإعدادات وورق الجدران ومكونات النظام.

تراكب

يتوقع المستخدمون الذين يعملون مع userdebug أو eng أن يكونوا قادرين على إعادة تنفيذ قسم النظام بكفاءة كقراءة للكتابة ، ثم إضافة أو تعديل أي عدد من الملفات دون تعكس صورة النظام. يمكنك استخدام Overlayfs ، والتي تقوم تلقائيًا بإعداد التخزين النسخ الاحتياطي لنظام الملفات القابل للكتابة كمرجع علوي ، ويتم تركيبه فوق الجزء السفلي. تحدث هذه الإجراءات في طلبات adb disable-verity و adb remount . لمزيد من التفاصيل ، راجع Overlayfs readme في AOSP.

دعم المكتبة المشتركة في وضع الاسترداد

في Android 10 ، تتوفر المكتبات المشتركة في قسم الاسترداد ، مما يلغي الحاجة إلى أن تكون جميع المواد التنفيذية في وضع الاسترداد ثابتًا. توجد المكتبات المشتركة ضمن /system/lib (أو /system/lib64 للأجهزة 64 بت) في القسم.

لإضافة مكتبة مشتركة جديدة إلى قسم الاسترداد ، أضف recovery_available: true أو recovery: true to Android.bp من المكتبة المشتركة. يقوم الأول بتثبيت المكتبة على كل من أقسام النظام والاسترداد ، بينما يقوم الأخير بتثبيتها فقط على قسم الاسترداد.

لا يمكن بناء دعم المكتبة المشتركة باستخدام نظام الإنشاء المستند إلى Android. لتحويل ثابت ثابت في وضع الاسترداد إلى وضع ديناميكي ، قم بإزالة LOCAL_FORCE_STATIC_EXECUTABLE := true في Android.mk أو static_executable: true (في Android.bp ).

نقطة تفتيش بيانات المستخدم (UDC)

يقدم Android 10 ميزة نقطة تفتيش بيانات المستخدم (UDC) ، والتي تسمح لـ Android بالتراجع إلى حالتها السابقة عند فشل تحديث Android On-Air (OTA).