تلخّص هذه الصفحة الميزات الرئيسية في إصدار Android 10، وتوفّر روابط تؤدي إلى معلومات إضافية. يتم تنظيم ملخّصات الميزات هذه وفقًا لمكان توفّر مستندات الميزة على هذا الموقع الإلكتروني.
إنشاء
java_sdk_library
يقدّم نظام التشغيل Android 10
java_sdk_library
، وهي قاعدة إنشاء جديدة
لحلّ مشاكل التوافق في مكتبات Java المشترَكة. يمكن لمصنّعي الأجهزة استخدام هذه الآلية لمكتبات Java المشتركة الخاصة بهم من أجل الحفاظ على التوافق مع الإصدارات القديمة لواجهات برمجة التطبيقات.
البنية
مكوّنات النظام النموذجية
يُقسِّم نظام التشغيل Android 10 بعض مكونات نظام Android إلى وحدات ويتيح تحديثها خارج دورة الإصدار العادية لنظام Android. تشمل بعض الوحدات ما يلي:
- Android Runtime
- Conscrypt
- برنامج تعيين نظام أسماء النطاقات
- DocumentsUI
- ExtServices
- الوسائط
- ModuleMetadata
- التواصل
- PermissionController
- بيانات المنطقة الزمنية
طبقة تجريد الأجهزة (HAL)
يضيف نظام التشغيل Android 10 إمكانية استخدام طبقات تجريد الأجهزة (HAL) من أجل إيقافها تلقائيًا عندما لا يكون لديها أي عملاء.
فرقعة
ABI
يتضمّن نظام التشغيل Android 10 إمكانية استخدام أدوات جديدة لمراقبة واجهة التطبيق الثنائية (ABI) للمساعدة في مقارنة التغييرات في واجهة التطبيق الثنائية (ABI) لنواة النظام وتتبُّعها والحدّ من تأثيرها، علمًا بأنّ هذه التغييرات تؤثر في التوافق مع وحدات النواة.
يتضمّن Android 10 أيضًا أداة فحص لاستخدامات واجهة التطبيق الثنائية (ABI) تستند إلى الرموز. يمكن لأداة التحقّق رصد الثنائيات المسبقة الإنشاء القديمة أثناء وقت الإنشاء، ما يتيح لمطوّري المكتبات المشتركة معرفة الثنائيات المسبقة الإنشاء التي قد تتأثر بالتغيير والثنائيات المسبقة الإنشاء التي يجب إعادة إنشائها.
برنامج Android Live-Lock الخفي
يتضمّن نظام التشغيل Android 10 برنامج Android Live-Lock Daemon (llkd)، المصمّم لرصد حالات التعطّل التام في النواة والحدّ منها.
vDSO32 على ARM64
يتيح نظام التشغيل Android 10 استخدام vDSO32 على أنظمة التشغيل 64 بت، ما يؤدي إلى زيادة عمر البطارية بنسبة %0.4 وتحسينات أخرى على الأداء.
إدخالات fstab للأقسام التي يتم تركيبها مبكرًا
يتطلّب نظام التشغيل Android 10 أن تحدّد الأجهزة إدخالات fstab
لـ
الأقسام التي يتم تحميلها مبكرًا
باستخدام ملف fstab
في ذاكرة الوصول العشوائي (ramdisk) في المرحلة الأولى.
HIDL
Offload BroadcastQueue
يتضمّن نظام التشغيل Android 10 قائمة انتظار نقل البيانات BroadcastQueue
جديدة إلى جانب قائمتَي الانتظار في الخلفية وفي المقدّمة الحالية. تتضمّن قائمة الانتظار الخاصة بنقل البيانات
الأولوية نفسها والسلوك نفسه المتعلّق بانتهاء المهلة كما هو الحال في قائمة الانتظار في الخلفية. لمنع حظر قائمة الانتظار في الخلفية، حيث يمكن أن تحدث عمليات بث أكثر إثارة للاهتمام أو مرئية للمستخدم، تتعامل قائمة الانتظار الخاصة بالتحميل مع عملية البث BOOT_COMPLETED
التي تستمع إليها العديد من التطبيقات وقد تستغرق وقتًا طويلاً لإكمالها.
لا يتعامل حاليًا صف إيقاف التحميل إلا مع بث BOOT_COMPLETED
، ولكن يمكنه التعامل مع عمليات بث طويلة أخرى.
خدمة SystemSuspend
يستبدل نظام التشغيل Android 10 سلسلة التعليمات في libsuspend
المسؤولة عن بدء تعليق النظام بخدمة SystemSuspend HIDL. يوفّر هذا التنفيذ وظائف مكافئة للإصدارات السابقة مع الاستفادة من مزايا بنية Android HIDL الأساسية.
safe_union في HIDL
يقدّم نظام التشغيل Android 10
safe_union
، وهو نوع اتحاد
يتم وضع علامات عليه بشكل صريح، في HIDL.
الإعدادات
ConfigStore HAL
في نظام التشغيل Android 10، تم إيقاف ConfigStore HAL نهائيًا بسبب ارتفاع معدّل استهلاك الذاكرة وصعوبة الاستخدام، وتم استبدال HAL بسمات النظام.
Config File Schema API
تحتوي منصة Android على عدد كبير من ملفات XML لتخزين بيانات الإعداد. توجد العديد من ملفات XML في القسم vendor
، ولكن تتم قراءتها في القسم system
. في هذه الحالة، يعمل مخطط ملف XML كواجهة بين القسمين، وبالتالي يجب تحديد المخطط بشكل صريح ويجب أن يتطوّر بطريقة متوافقة مع الإصدارات السابقة. قبل الإصدار 10 من نظام التشغيل Android، لم تكن المنصة توفّر آليات تتيح فرض تحديد واستخدام مخطّط XML أو منع إجراء تغييرات غير متوافقة في المخطّط. يوفر نظام التشغيل Android 10 هذه الآلية،
التي تُعرف باسم
Config File Schema API.
خصائص النظام كواجهات برمجة تطبيقات
يتم وضع خصائص النظام التي يتم الوصول إليها في جميع الأقسام في مخططات ضمن ملفات وصف sysprop
، ويتم إنشاء واجهات برمجة التطبيقات للوصول إلى الخصائص كدوال ملموسة للغة C++ وفئات للغة Java.
عنصر واجهة المورّد (VINTF)
VINTF
تشمل التغييرات التي تم إجراؤها على VINTF في Android 10 ما يلي:
- إيقاف علامات إصدار AVB نهائيًا
- إضافة معلومات النواة في حِزم تحديثات عبر الهواء
- إنشاء بيانات ODM رسميًا
- إضافة مصفوفة توافق المنتجات
- ربط إدخال بيان بوحدة HAL في نظام الإصدار
برنامج الإقلاع
Ramdisk
في نظام التشغيل Android 10، لم يعُد نظام ملفات الجذر مضمّنًا في ramdisk.img
، بل تم دمجه في system.img
.
إنشاء أقسام ميزة "قياس الإحالات الناجحة على الجهاز فقط"
يتضمّن نظام التشغيل Android 10 إمكانية
إنشاء odm
أقسام
باستخدام نظام الإصدار في Android. يمكنك استخدام قسم /odm
منفصل للتخصيصات، ما يتيح لك استخدام صورة مورد واحد لرموز تخزين تعريفية متعددة للأجهزة. يتيح ذلك للمصنّعين الأصليين للتصميمات تخصيص حِزم دعم اللوحات (BSP) الخاصة بمورّدي المنظومة على الرقاقة (SoC) لتناسب أجهزتهم المحدّدة (لوحاتهم). ويمكنهم تنفيذ وحدات نواة للمكوّنات الخاصة باللوحة أو برامج الخلفية الخاصة باللوحة أو ميزاتهم الخاصة على طبقات تجريد الأجهزة (HAL). وقد يستبدلون أيضًا مكونات نظام SoC أو يخصّصونها.
إصدارات عناوين صور التشغيل
يعدّل نظام التشغيل Android 10 عنوان صورة التمهيد إلى الإصدار 2، والذي يتضمّن قسمًا لتخزين صورة DTB. تتحقّق اختبارات VTS في Android 10 من أنّ جميع الأجهزة التي تعمل بنظام التشغيل Android 10 تستخدم الإصدار 2 من عنوان صورة التمهيد وتتضمّن صورة DTB صالحة كجزء من صور التمهيد/الاسترداد.
صور الاسترداد للأجهزة غير المتوافقة مع نظام التشغيل A/B
في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، يجب أن تحتوي صورة الاسترداد الخاصة بالجهاز على معلومات من صورة التراكب. يمكن لمصنّعي الأجهزة استخدام DeviceTree أو Advanced Configuration and Power Interface (ACPI) لوصف جميع الأجهزة غير القابلة للاكتشاف. يتضمّن نظام التشغيل Android 10 والإصدارات الأحدث إمكانية استخدام بنى تستخدم واجهة ACPI بدلاً من كائن ثنائي كبير لملف DeviceTree من أجل التراكب (DTBO).
Stable AIDL
يوفّر نظام التشغيل Android 10 إمكانية استخدام لغة تعريف واجهة Android (AIDL) الثابتة، وهي طريقة جديدة لتتبُّع واجهة برمجة التطبيقات (API) أو واجهة التطبيق الثنائية (ABI) التي توفّرها واجهات AIDL.
نقل fastboot إلى مساحة المستخدم
يضيف نظام التشغيل Android 10 إمكانية استخدام أقسام قابلة لتغيير الحجم من خلال نقل تنفيذ fastboot من برنامج التشغيل إلى مساحة المستخدم.
الشاشة
تشغيل فيديوهات HDR
يتوافق نظام التشغيل Android 10 مع تشغيل محتوى HDR10 وVP9 وHDR10+.
تصنيف النصوص
تستخدم تصنيف النصوص تقنيات تعلُّم الآلة لمساعدة المطوّرين في تصنيف النصوص. يقدّم الإصدار 10 من نظام التشغيل Android طريقتَين لواجهة برمجة التطبيقات TextClassifier API، وهما:
suggestConversationActions
وdetectLanguage
.
تنشئ الطريقة suggestConversationActions
الردود والإجراءات المقترَحة
من محادثة معيّنة، وتتعرّف الطريقة detectLanguage
على لغة النص.
إتاحة عرض خط Zawgyi
Zawgyi هو الخط الأكثر شيوعًا في ميانمار، ولكن لم يكن بإمكان الإصدار 9 من نظام التشغيل Android والإصدارات الأقدم عرض هذا الخط لأنّه لا يتوافق مع معيار Unicode. يتناول نظام التشغيل Android 10 هذه المشكلة من خلال تضمين خط Unicode قادر على عرض كل من Unicode Burmese وZawgyi معًا. لا يلزم إجراء أي خطوات لتفعيل عرض خط Zawgyi على الأجهزة التي تعمل بنظام Android 10. إذا كانت أجهزتك تتضمّن عملية تنفيذ مخصّصة لدعم Zawgyi، يمكنك إجراء ما يلي:
- التراجع عن هذه التغييرات واستخدام الطريقة المتوافقة مع المنصة
- احتفظ بخط Zawgyi الشائع في نظامك واستخدِم رمز اللغة
my-qaag
فيfonts.xml
. لمزيد من المعلومات، يُرجى الاطّلاع على ملاحظات إصدار Unicode CLDR بشأن Zawgyi (Qaag).
القيود المفروضة على إخفاء رموز التطبيقات
يحدّ نظام التشغيل Android 10 من إمكانية إخفاء التطبيقات لرموز مشغّل التطبيقات. إذا لم يكن لدى التطبيق نشاط مشغّل مفعّل، يعرض النظام نشاطًا مركّبًا في المشغّل، ويمثّل هذا النشاط المركّب صفحة تفاصيل التطبيق ضمن إعدادات النظام.
لمزيد من المعلومات حول المنطق المستخدَم لعرض رموز التطبيقات، بما في ذلك أنواع التطبيقات التي لا يتم عرض رموزها، يمكنك الاطّلاع على مستندات getActivityList()
في مرجع واجهة برمجة التطبيقات.
الإعدادات
لتحسين إمكانية الوصول، يتضمّن نظام التشغيل Android 10 إعدادات مهلة يمكن للمستخدم تخصيصها. تتوفّر التغييرات في واجهة برمجة التطبيقات والإعدادات مع نظام التشغيل Android 10. إذا خصّصت إعداداتك، تأكَّد من أنّ هذه الميزة متاحة. إذا كانت لديك عناصر واجهة مستخدم تنتهي مهلتها على جهازك، استخدِم واجهة برمجة التطبيقات لمهلات انتهاء الصلاحية مع هذه العناصر. لمزيد من المعلومات، يمكنك الاطّلاع على إرشادات تسهيل الاستخدام الخاصة بمطوّري تطبيقات Android.
التوافق
مستند تعريف معايير التوافق مع Android (CDD)
يستند مستند تعريف التوافق لنظام التشغيل Android 10 إلى الإصدارات السابقة مع تضمين تحديثات للميزات الجديدة وتغييرات في متطلبات الوظائف التي تم إصدارها سابقًا.
الاختبارات
مجموعة أدوات اختبار التوافق (CTS)
يتضمّن Android CTS صفحة ملاحظات إصدار منفصلة تسرد العديد من التغييرات المهمة في Android 10.
عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS)
تتوفّر حِزم مجموعة أدوات اختبار التوافق (CTS) المتوافقة مع نظام التشغيل Android 10 على صفحة عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS). يمكن مزامنة رمز المصدر للاختبارات المضمّنة مع علامة android-cts-10_r1
في شجرة المصدر المفتوح.
CTS shim APEX
يقدّم نظام التشغيل Android 10 حزمة باسم CtsShimApex
،
يجب تثبيتها مسبقًا على الجهاز لكتابة اختبارات CTS لإدارة APEX.
وضع مفعِّل الاختبار
يساعد وضع "مفعِّل اختبار" في مجموعة أدوات اختبار التوافق المطوّرين في برمجة اختبار جهاز أو مجموعة من الأجهزة.
وضع "التطبيقات الفورية"
بدءًا من Android 10، يتم تشغيل مجموعة اختبارات التوافق (CTS) في وضع التطبيقات الفورية، ما يعني تثبيت حزمة APK للاختبار كتطبيق فوري وتشغيل الاختبارات.
بالإضافة إلى وضع مجموعة أدوات اختبار التوافق (CTS) للتطبيقات الفورية، يتضمّن نظام التشغيل Android 10 أداة CTS Verifier للتطبيقات الفورية.
اختبار الصوت الاحترافي في أداة التحقّق في مجموعة أدوات اختبار التوافق (CTS)
يضيف نظام التشغيل Android 10 اختبارًا في CTS Verifier للتأكّد من التوافق مع Pro Audio.
اختبارات MIDI في أداة التحقّق من مجموعة أدوات اختبار التوافق (CTS)
في نظام التشغيل Android 10، يختبر اختبار MIDI في CTS Verifier وظائف MIDI باستخدام واجهات MIDI عبر USB وواجهات MIDI عبر البلوتوث ومسار جهاز MIDI افتراضي.
تفسير اختبار مجموعة أدوات اختبار التوافق (CTS)
يعدّل نظام التشغيل Android 10 آلية تفسير نتائج مجموعة أدوات اختبار التوافق (CTS).
مجموعة اختبارات المورِّدين (VTS)
اختبار VTS باستخدام ramdisk لتصحيح الأخطاء
في نظام التشغيل Android 10، يتغيّر نوع الإصدار من userdebug إلى user في صورة النظام العامة (GSI) المستخدَمة في إجراء اختبارات التوافق مع CTS-on-GSI/VTS، وذلك لأنّ GSI يتم توقيعها عند الإصدار. ومع ذلك، فإنّ الأمر adb root
الذي يمنح المضيف أذونات الجذر لجهاز Android قيد الاختبار غير متاح في إصدار المستخدم. وهذه مشكلة لأنّ VTS يتطلّب تشغيل adb root
.
تم طرح ramdisk لتصحيح الأخطاء لإتاحة adb root
في حال كان الجهاز غير مقفل. ويؤدي ذلك إلى تبسيط عملية الاختبار من خلال إعادة استخدام إصدار المستخدم نفسه system.img
(إما GSI أو system.img
الخاص بالشركة المصنّعة للجهاز الأصلي).
التحقّق من صحة Hardware Composer
يضيف نظام التشغيل Android 10 فئة اختبار جديدة في VTS للتحقّق من صحة Hardware Composer من خلال واجهة readback
في IComposerClient.hal
.
إذا لم ينفّذ البائعون readback
، ستجتاز الاختبارات تلقائيًا.
تصحيح الأخطاء
تحميل المكتبات المشترَكة باستخدام أدوات تحميل مختلفة للفئات
في نظام التشغيل Android 9 والإصدارات الأقدم، كانت التطبيقات تحمّل مكتبات Java المشتركة المرتبطة بها في أداة تحميل الفئات الخاصة بالتطبيق. في نظام التشغيل Android 10، يستخدم إطار العمل أداة تحميل فئات مختلفة عن أداة تحميل فئات التطبيق لتحميل مكتبات Java المشترَكة المرتبطة من خلال uses-library
أو uses-static-library
.
بشكل عام، لا تعتمد التطبيقات على استخدام أداة تحميل فئات معيّنة، لذا من المفترض ألا يؤدي هذا التغيير إلى تعطيل سلوك التطبيق. ومع ذلك، إذا كان التطبيق يعتمد على استخدام أداة تحميل صف واحد، سيتعذّر تنفيذ هذا السلوك. بالإضافة إلى ذلك، لا يزال بإمكانك ضبط مستوى رؤية الفئات على package-private في الحزمة نفسها، ولكن لا يمكنك ضبطه على هذا المستوى في المكتبات المشتركة.
قد يواجه مصنّعو الأجهزة مشاكل في توافق التطبيقات أثناء اختبار أجهزتهم التي تعمل بنظام التشغيل Android 10.
ميزات الأمان
للحصول على قائمة أكثر اكتمالاً بالتحسينات المتعلّقة بالأمان والخصوصية فقط، يُرجى الاطّلاع على صفحة تحسينات الأمان والخصوصية في Android 10.
المصادقة بالوجه
تتيح مصادقة الوجه للمستخدمين فتح قفل أجهزتهم ببساطة من خلال النظر إلى الجزء الأمامي من الجهاز. يتيح نظام التشغيل Android 10 استخدام حزمة جديدة للتعرّف على الوجه يمكنها معالجة لقطات الكاميرا بأمان، مع الحفاظ على الأمان والخصوصية أثناء التعرّف على الوجه على الأجهزة المتوافقة. يتيح نظام التشغيل Android 10 أيضًا طريقة سهلة لتنفيذ عمليات متوافقة مع معايير الأمان من أجل تفعيل دمج التطبيقات لإجراء معاملات مثل الخدمات المصرفية على الإنترنت أو غيرها من الخدمات.
إمكانية الوصول الموسّع
يمكن للوكلاء المعتمَدين، وهم الآلية الأساسية التي تستخدمها آليات المصادقة الثانوية، مثل Smart Lock، تمديد فتح القفل في نظام التشغيل Android 10 فقط. لم يعُد بإمكان الوكلاء المعتمَدين فتح قفل الجهاز، بل يمكنهم فقط إبقاء الجهاز مفتوحًا لمدة أربع ساعات كحد أقصى.
التشفير
OEMCrypto
يستخدم الإصدار 10 من نظام التشغيل Android الإصدار 15 من واجهة برمجة التطبيقات OEMCrypto.
الاختبار
BoundsSanitizer
يستخدم نظام التشغيل Android 10 BoundsSanitizer (BoundSan) في البلوتوث وبرامج الترميز. تستخدِم BoundSan أداة تنظيف الحدود في UBSan. يتم تفعيل إجراء التخفيف هذا على مستوى كل وحدة. ويساعد في الحفاظ على أمان المكوّنات المهمة في Android، لذا لا يجب إيقافه. يتم تفعيل BoundSan في برامج الترميز التالية:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
libaac
libxaac
تنقيح تجاوز سعة الأعداد الصحيحة
يتيح نظام التشغيل Android 10 تنظيف تجاوز سعة الأعداد الصحيحة (IntSan) في برامج الترميز. يجب التأكّد من أنّ أداء التشغيل مقبول لأي برامج ترميز غير متوافقة مع مكونات الجهاز. يتم تفعيل IntSan في برامج الترميز التالية:
libFLAC
libavcdec
libavcenc
libhevcdec
libmpeg2
libopus
libvpx
libspeexresampler
libvorbisidec
ذاكرة التنفيذ فقط
بشكلٍ تلقائي، يتم وضع علامة "تنفيذ فقط" (غير قابل للقراءة) على أقسام الرموز التنفيذية لملفات النظام الثنائية AArch64، وذلك كإجراء وقائي ضد هجمات إعادة استخدام الرموز البرمجية في الوقت الفعلي. لم يعُد بإمكانك استخدام الرموز التي تجمع بين البيانات والرموز، والرموز التي تفحص هذه الأقسام عمدًا (بدون إعادة تعيين شرائح الذاكرة أولاً على أنّها قابلة للقراءة). تتأثر التطبيقات التي تستخدم حزمة تطوير برامج (SDK) مستهدَفة لنظام التشغيل Android 10 (المستوى 29 أو أعلى) إذا حاول التطبيق قراءة أقسام الرموز البرمجية في مكتبات النظام المفعَّلة للذاكرة التنفيذية فقط (XOM) في الذاكرة بدون وضع علامة على القسم أولاً للإشارة إلى إمكانية قراءته.
Scudo
Scudo هي أداة ديناميكية لتخصيص الذاكرة في وضع المستخدم، وهي مصمَّمة لتكون أكثر مرونة في مواجهة الثغرات الأمنية المرتبطة بالذاكرة المؤقتة. توفّر هذه السمة عناصر C الأساسية لتخصيص الذاكرة وإلغاء تخصيصها، بالإضافة إلى عناصر C++ الأساسية.
ShadowCallStack
ShadowCallStack
(SCS) هو وضع
أداة LLVM
الذي يحمي من الكتابة فوق عناوين الإرجاع (مثل تجاوز سعة المخزن المؤقت للمكدس) من خلال حفظ عنوان إرجاع الدالة في مثيل ShadowCallStack
تم تخصيصه بشكل منفصل في مقدمة الدالة غير الطرفية وتحميل عنوان الإرجاع من مثيل ShadowCallStack
في نهاية الدالة.
الصوت
طبقة تجريد الأجهزة الصوتية (HAL)
يتضمّن نظام التشغيل Android 10 الإمكانات الجديدة التالية لطبقة تجريد الأجهزة الصوتية (HAL).
AudioSource
AudioFormat
AudioChannelMask
تمت إضافة متطلبات إضافية لتنفيذ طبقة تجريد الأجهزة (HAL) الفرعية والصوتية.
تأثيرات المعالجة المُسبقة
يوفر نظام التشغيل Android
تأثيرات المعالجة المسبقة، مثل
إلغاء الصدى الصوتي والتحكّم التلقائي في مستوى الصوت وكتم الضوضاء.
يتضمّن الإصدار 10 من نظام التشغيل Android متطلبات جديدة للتسجيل باستخدام
VOICE_COMMUNICATION
.
مدير سياسات الصوت
يتضمّن نظام التشغيل Android 10 إعادة تصميم كبيرة لمدير سياسات الصوت بهدف توفير المزيد من المرونة لدعم حالات الاستخدام المعقّدة في السيارات.
صوت عالي الدقة
يتضمّن نظام التشغيل Android 10 التحسينات التالية على الصوت عالي الدقة.
- دعم الأعداد العشرية
- توافق مع تردد 192 كيلوهرتز
- التوافق مع ثماني قنوات
- تضمين معلومات التوقيت
التقاط متزامن
يحسّن نظام التشغيل Android 10 تجربة المستخدم في ما يتعلق بالتسجيل المتزامن الذي يتطلّب أكثر من عملية تسجيل صوت نشطة في الوقت نفسه.
AudioPlaybackCapture
يتضمّن نظام التشغيل Android 10 واجهة برمجة تطبيقات جديدة باسم
AudioPlaybackCapture
، تتيح للتطبيقات نسخ الصوت الذي
تشغّله تطبيقات أخرى. تشبه هذه الميزة تصوير الشاشة، ولكنها مخصّصة للصوت.
حالة الاستخدام الأساسية هي السماح لتطبيقات البث المباشر بتسجيل الصوت الذي يتم تشغيله في الألعاب.
لا تؤثّر واجهة برمجة التطبيقات الخاصة بالتقاط الصوت في وقت الاستجابة للتطبيق الذي يتم التقاط الصوت منه.
MIDI
يسهّل نظام التشغيل Android 10 نقل تطبيقات الصوت الاحترافية التي تستخدم MIDI إلى نظام Android الأساسي باستخدام AMidi
NDK API.
الكاميرا
للاطّلاع على ملخّص للتغييرات التي تم إجراؤها على واجهة برمجة تطبيقات الكاميرا وطبقة تجريد الأجهزة (HAL) ووحدة الكاميرا في Android 10، يُرجى الاطّلاع على تحديثات الكاميرا في Android 10.
تحسينات على خصوصية إطار عمل الكاميرا
يقدّم نظام التشغيل Android 10 تحسينات على الخصوصية في إطار عمل الكاميرا. لتجنُّب عرض معلومات حساسة محتملة عن الكاميرا الثابتة في
CameraCharacteristics
بدون موافقة المستخدم، يجب أن تحصل التطبيقات على إذن
CAMERA
لاسترداد البيانات الوصفية الثابتة باستخدام علامة حساسة للخصوصية من خلال طريقة
getCameraCharacteristics
.
للحصول على قائمة بمفاتيح خصائص الكاميرا التي تتطلّب الإذن CAMERA
، استخدِم الطريقة getKeysNeedingPermission
.
طلب إعادة ضبط الجلسة
يضيف نظام التشغيل Android 10 ميزة طلب إعادة ضبط إعدادات الجلسة، التي تتيح تحسين الأداء من خلال توفير المزيد من التحكّم في منطق إعادة ضبط إعدادات مَعلمات الجلسة الداخلية.
واجهات برمجة تطبيقات إدارة المخزن المؤقت Camera HAL3
يتضمّن نظام التشغيل Android 10 واجهات برمجة تطبيقات اختيارية لإدارة المخزن المؤقت في HAL3 الخاص بالكاميرا تتيح لك تنفيذ منطق إدارة المخزن المؤقت لتحقيق مقايضات مختلفة بين الذاكرة ووقت استجابة الالتقاط في عمليات تنفيذ HAL الخاصة بالكاميرا.
مفتاح التبديل الديناميكي للكاميرا الفعلية في طبقة تجريد الأجهزة (HAL) للكاميرا
يقدّم الإصدار 10 من نظام التشغيل Android علامة بيانات وصفية ديناميكية،
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،
مع بعض التعديلات الطفيفة.
إعدادات البث
يضيف الإصدار 10 من نظام التشغيل Android ميزات تتيح لمورّدي الكاميرات الإعلان عن عمليات بث الكاميرا المقترَحة لبرامج الكاميرا، كما يتيح واجهة برمجة تطبيقات للاستعلام عن مجموعات عمليات البث.
متطلبات دمج بث الكاميرا
لم يعُد مطلوبًا من الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android أن تتوافق مع مجموعات البث التي تتضمّن بثًا من الكاميرا الفرعية المادية. ومع ذلك، يجب أن تتوافق الأجهزة التي تعمل بنظام التشغيل Android 10 مع إصدار 3.5 من جهاز HAL للكاميرا مع isStreamCombinationSupported()
للسماح للتطبيقات بالاستعلام عمّا إذا كان يتم توفير مجموعة بث تتضمّن عمليات بث فعلية.
لمزيد من المعلومات، يُرجى الاطّلاع على التوافق مع الكاميرات المتعددة.
التقاط صور HEIF
يتيح نظام التشغيل Android 10 إمكانية استخدام الكاميرا مع صور بتنسيق ملف الصور عالي الكفاءة (HEIF)، التي توفّر جودة صور محسّنة وأحجامًا أصغر مقارنةً بصور JPEG. يجب أن تتضمّن الأجهزة برنامج ترميز HEIC أو HEVC لتتمكّن من استخدام صور HEIF.
كاميرات أحادية اللون
يوفر نظام التشغيل Android 10 دعمًا إضافيًا لتنسيق البث Y8، والبيانات الوصفية الثابتة لمجموعة فلاتر الألوان أحادية اللون والأشعة تحت الحمراء القريبة (NIR)، ووظائف DngCreator
للكاميرات أحادية اللون.
إمكانية الاتصال
المكالمات والمراسلة
أرقام الطوارئ والاتصال بخدمات الطوارئ
يتيح نظام التشغيل Android 10 إمكانية إجراء مكالمات الطوارئ بشكل أفضل. في حالات الطوارئ، يمكن للأجهزة التي تتوافق مع الإصدار 1.4 من طبقة تجريد الأجهزة (HAL) الخاصة براديو الإنترنت (IRadio) بدء مكالمة طوارئ باستخدام أرقام الطوارئ التي يتم استردادها من مصدر مثل بطاقة SIM أو إشارة الشبكة أو قاعدة بيانات Android. يمكن تصنيف الأرقام استنادًا إلى فئات خدمات الطوارئ، مثل الشرطة والإطفاء والإسعاف.
واجهات برمجة التطبيقات للمكالمات الجماعية
تُعدّ واجهات برمجة التطبيقات للمكالمات الجماعية إضافة إلى واجهات برمجة التطبيقات eMBMS التي تمّت إضافتها في Android 9. تحدّد واجهات برمجة التطبيقات الجديدة معيارًا للانضمام إلى المكالمات الجماعية عبر البث الخلوي والبث فيها من خلال التفاعل مع حِزم البرامج الوسيطة eMBMS. تتطلّب المكالمات الجماعية توفّر الدعم من مورّد مجموعة الشرائح ومورّد البرامج الوسيطة ومشغّل شبكة الجوّال لتعمل بشكلٍ صحيح. يمكنك العثور على مستندات المطوّرين على developer.google.com.
إمكانات شريحة SIM عن بُعد
يتيح الإصدار 10 من نظام التشغيل Android إمكانات بطاقة SIM عن بُعد التي تسمح لتطبيقات المراسلة على جهاز Android مضيف بإرسال رسائل SMS من خلال الهواتف باستخدام آليات مثل البلوتوث. لمزيد من المعلومات، يُرجى الاطّلاع على المستندات المرجعية الخاصة بالطريقة getSubscriptionType
والثابت SUBSCRIPTION_TYPE_REMOTE_SIM
.
شرائح eSIM متعددة
في نظام التشغيل Android 10، تتيح الفئة EuiccManager
استخدام
الأجهزة التي تتضمّن
شرائح SIM مدمجة متعددة (eSIM)
أو شرائح eUICC.
آخر الأخبار عن شريحة eSIM
بالنسبة إلى الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android وتتوافق مع شرائح eSIM، يجب تحديد مصفوفة أرقام تعريف غير قابلة للإزالة لخانة eUICC. يجب أن تتوافق الأجهزة أيضًا مع الإصدار 1.4 من IRadio HAL والإصدار 1.2 من IRadioConfig HAL. لمزيد من المعلومات، يُرجى الاطّلاع على تنفيذ شريحة eSIM ومتطلبات طبقة تجريد الأجهزة (HAL).
شبكة الجيل الخامس غير المستقلة (NSA)
يتيح نظام التشغيل Android 10 استخدام شبكة الجيل الخامس غير المستقلة (NSA). 5G NSA هو حلّ لشبكات الجيل الخامس التي تستند إلى البنية التحتية الحالية لشبكات الجيل الرابع. في نظام التشغيل Android 10، يمكن للأجهزة عرض رمز شبكة الجيل الخامس (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، يتم منح إذن الوصول إلى هذه المعرّفات للحِزم التي تتضمّن امتيازات مشغّل شبكة الجوّال.
Wi-Fi
اختيار الشبكة
يقيّم نظام التشغيل Android باستمرار جودة الشبكة المتصلة ويقيّم جودة الشبكات المتاحة. يتضمّن نظام التشغيل Android 10 خوارزميات وإجراءات معدَّلة لاختيار شبكات Wi-Fi والتبديل بينها.
البحث عن شبكات Wi-Fi المفضَّلة لنقل البيانات
يقدّم نظام التشغيل Android 10 طريقة اختيارية لواجهة برمجة التطبيقات باسم
setDeviceMobilityState()
في WifiManager
تزيد الفاصل الزمني بين عمليات البحث
المفضّلة عن إمكانية تفريغ الشبكة (PNO)
عندما يكون الجهاز ثابتًا لتقليل استهلاك الطاقة.
شبكة Wi-Fi لمشغّل شبكة الجوّال
في نظام التشغيل Android 10، تتصل الأجهزة التي تتضمّن ميزة Wi-Fi لمشغّل شبكة الجوّال تلقائيًا بشبكات Wi-Fi لمشغّل شبكة الجوّال التي تم ضبطها (الشبكات التي تتضمّن شهادات مفاتيح عامة).
Wi-Fi Easy Connect
في نظام التشغيل Android 10، يمكن للأجهزة استخدام ميزة Wi-Fi Easy Connect التي تستخدم بروتوكول توفير الأجهزة (DPP) الذي قدّمته منظمة Wi-Fi Alliance (WFA)، وذلك لتوفير أجهزة Wi-Fi وضبطها.
وضع وقت الاستجابة المنخفض عبر شبكة Wi-Fi
يتضمّن نظام التشغيل Android 10 وضع وقت الاستجابة المنخفض لشبكة Wi-Fi، الذي يضبط شريحة Wi-Fi لتقليل وقت الاستجابة.
خادم DHCP معدَّل
في إطار إنشاء مظلة خدمة "خادم IP"، سيتم حذف dnsmasq
. يستبدل نظام التشغيل Android 10 الاستخدام الوظيفي لخادم DHCPv4 بمكوّن منفصل مكتوب بلغة Java في الأساس بهدف تحسين التكامل مع لوحة التحكّم في إطار عمل Java. يؤدي ذلك إلى تحسين مستوى الأمان وإمكانية تحديث خادم DHCP. لمزيد من التفاصيل، يمكنك الاطّلاع على
packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java
.
ليس عليك اتخاذ أي إجراء لتنفيذ هذا التغيير، فجميع الأجهزة التي يتم طرحها وتحديثها إلى الإصدار 10 من نظام التشغيل Android تستخدم DhcpServer
تلقائيًا.
إذا كانت لديك تخصيصات لخادم DHCP، يمكنك الرجوع إلى سلوك Android 9
من خلال ضبط الإعداد العام tether_enable_legacy_dhcp_server=1
.
يتم تضمين DhcpServer
الجديد في وحدة مكونات الشبكات، لذا يجب إرسال أي تخصيص لوظيفة خادم DHCP إلى المصدر.
WPA3 وWi-Fi Enhanced Open
يضيف نظام التشغيل Android 10 إمكانية استخدام معايير الأمان Wi-Fi Protected Access 3 (WPA3) وWi-Fi Enhanced Open لتوفير مستوى أفضل من الخصوصية والحماية من الهجمات المعروفة.
اتصال Wi-Fi مباشر
تتيح ميزة اتصال Wi-Fi مباشر، المعروفة أيضًا باسم Wi-Fi P2P، للأجهزة المتوافقة رصد بعضها البعض والاتصال ببعضها مباشرةً باستخدام بروتوكول اتصال Wi-Fi مباشر بدون الحاجة إلى الاتصال بالإنترنت أو بشبكة الجوّال.
تحسينات على ميزة "اختيار عنوان MAC بشكل عشوائي"
بدءًا من Android 10، يتم تفعيل التوزيع العشوائي لعناوين MAC تلقائيًا في وضع العميل وSoftAp وWi-Fi Direct. يجب أن توفّر الأجهزة خيارًا لتفعيل التوزيع العشوائي لعناوين MAC أو إيقافه لكل معرّف SSID في واجهة مستخدم النظام.
Passpoint R2
يتيح نظام التشغيل Android 10 استخدام ميزات الإصدار الثاني من معيار Passpoint. تتيح الإصدار 2 من Passpoint إمكانية الاشتراك على الإنترنت (OSU)، وهي طريقة عادية لتوفير ملفات شخصية جديدة لنقطة المرور. يتيح نظام التشغيل Android 10 توفير ملفات شخصية لبروتوكول EAP-TTLS باستخدام SOAP-XML.
NFC
تأمين الاتصال بالحقل القريب (NFC)
تسمح ميزة الاتصال القصير المدى (NFC) الآمن بتفعيل محاكاة بطاقة NFC غير المستندة إلى المضيف فقط عندما تكون شاشة الجهاز مفتوحة. يمنح تنفيذ هذه الميزة المستخدمين خيار تفعيل تقنية الاتصال القصير المدى (NFC) الآمنة لتحسين الأمان.
إيقاف ميزة Android Beam نهائيًا
في نظام التشغيل 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
يضيف نظام التشغيل Android 10
ASurfaceControl
، وهي طريقة جديدة تتيح
SurfaceFlinger
قبول المخازن المؤقتة.
تنفيذ الرسومات
طبقات OpenGL ES
يقدّم نظام التشغيل Android 10 نظامًا للطبقات خاصًا بـ GLES.
EGL 1.5
يتضمّن نظام التشغيل Android 10 واجهة EGL 1.5. للحصول على معلومات حول الميزات الجديدة في الإصدار 1.5 من EGL، يمكنك الاطّلاع على إصدارات Khronos لمواصفات الإصدار 1.5 من EGL.
Vulkan
يتوافق نظام التشغيل Android 10 مع رسومات Vulkan 1.1.
تتوافق المنصة أيضًا مع VK_KHR_swapchain
الإصدار 70، وبالتالي يمكن لتطبيق Vulkan إنشاء VkImage
استنادًا إلى ذاكرة سلسلة التبديل.
معدّل إعادة التحميل للأداء
يتيح نظام التشغيل Android 10 استخدام معدّل تحديث الأداء. تكون هذه الميزة غير مفعّلة تلقائيًا.
التفاعل
Automotive
الصوتيات في السيارات
في نظام التشغيل Android 10، يتم ربط سياقات Audio HAL بـ
AudioAttributes.usage
لتحديد الأصوات. يتيح نظام التشغيل Android مثيلاً واحدًا
AUDIO_DEVICE_OUT_BUS
لكل سياق. يوفر IAudioControl
HAL
إضافات خاصة بالمركبة إلى Audio HAL.
التنقّل بالإيماءات
يتيح نظام التشغيل Android 10 خيارًا للتنقّل في النظام باستخدام الإيماءات فقط. للحصول على معلومات حول كيفية إعداد التطبيقات لاستخدام هذه الميزة، يُرجى الاطّلاع على صفحة التنقّل بالإيماءات على موقع "مطوّرو تطبيقات Android".
الشبكات العصبونية
يتضمّن نظام التشغيل Android 10 تعديلات على واجهة برمجة التطبيقات الخاصة بالشبكات العصبونية وطبقة تجريد الأجهزة الخاصة بالشبكات العصبونية. للاطّلاع على ملخّص التغييرات، يُرجى الانتقال إلى مقالة الشبكات العصبية.
مستندات جديدة ومعدَّلة حول "الشبكات العصبونية" لنظام التشغيل Android 10:
- نظرة عامة
- AHardwareBuffer
- عمليات التنفيذ السريع وقوائم انتظار الرسائل السريعة
- التخزين المؤقت للتجميع
- اكتشاف الأجهزة وتعيينها
- إضافات المورّدين
أجهزة الاستشعار
طبقة تجريد الأجهزة 2.0 الخاصة بأجهزة الاستشعار
يتيح الإصدار 2.0 من طبقة تجريد الأجهزة (HAL) لأدوات الاستشعار استخدام قوائم انتظار الرسائل السريعة (FMQ) لإرسال أحداث أدوات الاستشعار من طبقة HAL إلى إطار عمل أدوات الاستشعار في Android.
إيقاف أجهزة الاستشعار
يتضمّن نظام التشغيل Android 10 إعدادًا خاصًا بالمطوّرين يتيح إيقاف جميع المستشعرات على الجهاز. تساعد هذه الميزة المطوّرين في اختبار وظائف تطبيقاتهم في الحالات التي تصبح فيها هذه المستشعرات غير متاحة، كما تتيح للمستخدمين طريقة للتحكّم في المستشعرات في أجهزتهم.
إذا كانت أجهزتك تستخدم التنفيذ التلقائي لـ SensorService
وCameraService
وAudioPolicyService
، لن تحتاج إلى أي تخصيص إضافي للتصميم المرجعي. إذا كانت لديك أجهزة استشعار أخرى، يمكنك الاطّلاع على التخصيص للحصول على مزيد من التفاصيل حول إتاحة هذه الميزة.
الوسائط
مكوّنات الوسائط القابلة للتعديل
يتضمّن الإصدار 10 من نظام التشغيل Android مكوّنات وسائط قابلة للتحديث تتيح تحديث مكوّنات النظام النموذجية المتعلّقة بالوسائط من خلال بنية "متجر Google Play" الأساسية أو من خلال آلية التحديث عبر الأثير (OTA) التي يوفّرها أحد الشركاء.
إدارة الحقوق الرقمية للوسائط
يحسّن نظام التشغيل Android 10 من فائدة وسهولة استخدام واجهات برمجة التطبيقات MediaDrm
Java وNDK.
فك التشفير
يتوافق نظام التشغيل Android 10 مع فك ترميز AV1 SW.
الأذونات
يوفّر نظام التشغيل Android 10 إعدادات إضافية للأذونات لتعزيز الشفافية وحماية خصوصية المستخدمين.
مقدّم جهات الاتصال ومعلومات الاهتمامات
اعتبارًا من الإصدار 10 من نظام التشغيل Android، يتم الوصول إلى البيانات المتعلقة بجهات الاتصال المفضّلة، والتي يديرها مكوّن "موفّر جهات الاتصال"، بشكل مختلف عن الإصدار 9 من نظام التشغيل Android والإصدارات الأقدم. تساهم هذه التغييرات المتعلّقة بإمكانية الوصول إلى البيانات في تحسين خصوصية المستخدم على جميع أجهزة Android 10 التي تستخدم مكوّن "مزوّد جهات الاتصال". لم تعُد قاعدة البيانات الأساسية تحتوي على بيانات حول جهات الاتصال المفضّلة. لذلك، لا يمكن للتطبيقات الكتابة إلى هذا المجلد أو القراءة منه.
من المتوقّع أن يكون للتغييرات في نظام التشغيل Android 10 تأثير كبير على واجهات برمجة التطبيقات. إذا كانت تطبيقاتك تعتمد على الميزات المتوقّفة نهائيًا المذكورة في "موفّر جهات الاتصال" و"معلومات الاهتمامات المشتركة"، ننصحك بتحديث تطبيقاتك للتعويض عن أي تغييرات. بالإضافة إلى ذلك، إذا كنت تستخدم إصدارًا معدَّلاً من Contacts Provider، عليك تعديل Contacts Provider.
أذونات تحديد الموقع الجغرافي ذات الحالات الثلاث
تمنح أذونات الموقع الجغرافي الثلاثية الحالات في Android 10 المستخدمين المزيد من التحكّم في كيفية وصول التطبيقات إلى المواقع الجغرافية لأجهزتهم.
تذكير بشأن إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية
يتضمّن نظام التشغيل Android 10 تذكيرًا بشأن الوصول إلى الموقع الجغرافي في الخلفية، ما يزيد من الشفافية بشأن مستوى وصول التطبيقات إلى الموقع الجغرافي للجهاز ويساعد المستخدمين في الحفاظ على التحكّم في هذا الوصول.
حظر المواقع الجغرافية العرضية
عندما يطلب تطبيق الموقع الجغرافي لجهاز، يمكن للتطبيق إما انتظار الرد على الطلب أو الحصول على تحديث للموقع الجغرافي بشكل انتهازي باستخدام أدوات الاستماع النشطة للموقع الجغرافي. بدءًا من الإصدار Android 10، للحصول على تعديلات على الموقع الجغرافي عند توفّرها، على المطوّرين تحديد أنّهم بحاجة إلى تعديلات على الموقع الجغرافي بشكل غير نشط من الفئة FusedLocationProviderClient
.
فتح التطبيقات في الخلفية
في نظام التشغيل Android 10، لا يمكن للتطبيقات غير المميزة التي لا تحتوي على نافذة مرئية أن تبدأ تشغيل نفسها تلقائيًا في المقدّمة. يؤدي هذا التغيير إلى حظر النوافذ المنبثقة للإعلانات وعمليات الاستيلاء الضارة. ليس عليك اتّخاذ أي إجراء لتفعيل هذه الميزة.
وضع الحماية في التطبيقات
في نظام التشغيل Android 10، يمكن للتطبيقات عرض محدود لنظام الملفات بدون الوصول المباشر إلى مسارات مثل /sdcard/DCIM
. ومع ذلك، تحتفظ التطبيقات بإذن الوصول الكامل إلى المسارات الخاصة بالحِزم، كما هو موضح في أي طرق سارية، مثل Context.getExternalFilesDir()
.
ستظل التطبيقات تحتفظ بإذن الوصول الكامل إلى المسارات الخاصة بحِزمها.
استخدِم إرشادات مشاركة الملفات في البيئة المحصورة للتطبيق لتوفير مستوى مناسب من التفصيل في مشاركة البيانات.
حظر وصول التطبيقات إلى الحافظة
في نظام التشغيل Android 10، تم تغيير طريقة الوصول إلى الحافظة، وبالتالي لا يمكن مراقبة محتوى الحافظة من خلال استدعاء ClipboardManager.getPrimaryClip
أو إضافة أداة معالجة onPrimaryClipChangedListener
لتلقّي إشعار عند تغيير الحافظة. يؤدي ذلك إلى زيادة خصوصية المستخدمين ومنع التطبيقات التي تعرض إعلانات ضارة من تعديل الحافظة.
في نظام التشغيل Android 10، لا يُسمح بالوصول للقراءة إلا للتطبيق الحالي الذي يتم التركيز على إدخاله، أو للوحة المفاتيح الحالية. لن يتم تشغيل
ClipboardManager.onPrimaryClipChanged()
listener call الآن إلا للتطبيقات التي تستوفي هذه القيود.
تعرض الدالتان ClipboardManager.getPrimaryClip
وClipboardManager.getPrimaryClipDescription
القيمة null
إذا لم يكن التطبيق الذي يطلب البيانات هو محرر طريقة الإدخال التلقائي (IME)، أو إذا لم يكن لديه تركيز الإدخال.
تشمل أذونات التشغيل إذن التعرّف على النشاط
يظهر للمستخدمين الآن مربّع حوار التعرّف على النشاط عندما يصل تطبيق إلى الموقع الجغرافي للجهاز في الخلفية. يجب إدراج أذونات التشغيل التي تم فرض قيود صارمة عليها في القائمة البيضاء بشكل صحيح في نظام التشغيل Android 10.
إذن MANAGE_DEVICE_ADMINS
يغيّر نظام التشغيل Android 10 إذن
MANAGE_DEVICE_ADMINS
من إذن التوقيع أو الإذن المميز إلى إذن التوقيع فقط. وهذا يعني أنّه يمكن للتطبيقات الموقَّعة من المنصة فقط ضبط تطبيقات أخرى كمشرف جهاز.
تحسينات على واجهة برمجة التطبيقات Sharing API
يوفّر نظام التشغيل Android 10 عددًا من الميزات الجديدة في واجهة برمجة التطبيقات لنظام Android الأساسي والمتعلّقة بالمشاركة. إذا عدّلت رمز "ورقة المشاركة" في عملية التنفيذ، تأكَّد من أنّ عملية التنفيذ تتوافق مع هذه الميزات الجديدة. إذا لم يسبق لك تعديل رمز "ورقة المشاركة" في عملية التنفيذ، ليس عليك اتّخاذ أي إجراء للاستفادة من هذه الميزات الجديدة.
وقت تشغيل Android (ART)
الإعدادات الموقّعة
تتيح ميزة إعدادات Signed Config تضمين إعدادات قيود واجهات برمجة التطبيقات غير التابعة لحزمة تطوير البرامج (SDK) في حِزم APK. يتيح ذلك إزالة واجهات معيّنة غير متوفرة في حزمة SDK من القائمة السوداء، ما يتيح استخدامها بأمان في AndroidX. من خلال هذا التغيير، يمكن أن يتيح AndroidX إمكانية استخدام ميزات جديدة على إصدارات Android القديمة.
الأداء
طبقة تجريد Cgroup
يتضمّن نظام التشغيل Android 10 طبقة تجريد لمجموعات التحكّم (cgroup) وملفات تعريف المهام، التي يمكن للمطوّرين استخدامها لوصف مجموعة من القيود التي سيتم تطبيقها على سلسلة محادثات أو عملية.
برنامج Low Memory Killer Daemon (lmkd)
يتوافق نظام التشغيل Android 10 مع وضع lmkd
جديد يستخدم أدوات مراقبة معلومات PSI الخاصة بضغط النواة لرصد ضغط الذاكرة.
الطاقة
إدارة طاقة النظام الأساسي
في نظام التشغيل Android 10، يمكن تفعيل وضع "توفير الطاقة" على الأجهزة التي تعمل دائمًا وعلى الأجهزة التي تعمل بالبطارية.
توفير شحن البطارية حسب الروتين
يقدّم نظام التشغيل Android 10 خيارًا جديدًا للجدول الزمني الخاص بميزة "توفير شحن البطارية" يُسمى استنادًا إلى الروتين. تتيح ميزة توفير شحن البطارية الروتيني لتطبيق يختاره مصنّع المعدات الأصلية تقديم إشارات إلى النظام من أجل جدولة أكثر ذكاءً لميزة "توفير شحن البطارية". يتطلّب هذا الخيار ضبط الإعدادات، وهو اختياري.
طبقة تجريد الأجهزة (HAL) الخاصة بإحصاءات الطاقة
في نظام التشغيل Android 10، يحلّ IPowerStats.hal
محل واجهات برمجة التطبيقات الخاصة بجمع إحصاءات استهلاك الطاقة في IPower.hal
.
على الرغم من أنّ Power HAL لا يزال يتيح استخدام واجهات برمجة التطبيقات، سيتم نقلها حصريًا إلى Power Stats HAL في المستقبل.
تتضمّن طبقة HAL لإحصاءات استهلاك الطاقة واجهات برمجة تطبيقات جديدة تتيح جمع البيانات من أجهزة متوافقة بشأن قياس استهلاك الطاقة على الجهاز. تم أيضًا تعديل واجهات برمجة التطبيقات الحالية الخاصة بجمع إحصاءات استهلاك الطاقة لتحسين المرونة. ستبقى واجهات برمجة التطبيقات الخاصة بتلميحات الطاقة في طبقة تجريد الأجهزة (HAL) الخاصة بالطاقة ولن يتم تغييرها.
تخفيف الحرارة
يجرّد إطار العمل الحراري في نظام التشغيل Android 10 واجهات الأجهزة لمستشعر درجة الحرارة في النظام الفرعي الحراري، بما في ذلك وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والبطارية والغلاف وجهاز التبريد. يوفّر إطار العمل واجهة استطلاع للاستعلام عن حالة درجة الحرارة من أجل بدء عملية الحدّ من سرعة المعالجة، وواجهة ردّ اتصال لإرسال رسالة إلى المستخدم عند تجاوز الحدّ.
يوفّر نظام التشغيل Android 10 أنواع البيانات الجديدة من خلال واجهة
IThermalService
باستخدام الطرق الثلاث الجديدة التالية:
- تعرض
getCurrentThermalStatus()
حالة الجهاز الحرارية الحالية كعدد صحيح، ما لم يخضع الجهاز لعملية تقليل السرعة. - تضيف
addThermalStatusListener()
مستمعًا. - تزيل الدالة
removeThermalStatusListener()
مستمعًا تمت إضافته سابقًا.
تضيف التطبيقات أدوات معالجة وتزيلها، كما يمكنها الوصول إلى حالة درجة الحرارة في فئة
PowerManager
. يمكن فقط لخدمة نظام موثوق بها، مثل واجهة برمجة تطبيقات Android أو واجهة برمجة تطبيقات خاصة بمصنّع الجهاز، الوصول إلى معلومات حول الأحداث السببية المرتبطة. على مصنّعي الأجهزة أو مصنّعي نظام التشغيل على الشريحة تنفيذ thermal HAL 2.0
لتفعيل الوظائف الكاملة لإطار العمل الجديد الخاص بالحرارة.
للاطّلاع على مثال على تنفيذ إجراءات التخفيف من الحرارة، راجِع التنفيذ المرجعي.
التحديثات
تنسيق ملف APEX
Android Pony EXpress (APEX) هو تنسيق حاوية جديد يُستخدم في عملية تثبيت مكونات النظام النموذجية.
الأقسام الديناميكية
توفّر الأقسام الديناميكية نظام تقسيم لمساحة المستخدم في Android، ما يتيح إنشاء الأقسام أو تغيير حجمها أو إزالتها أثناء إجراء التحديثات عبر الهواء (OTA). ولا داعي أن يقلق مصنّعو الأجهزة بشأن الأحجام الفردية للأقسام، مثل system
وvendor
وproduct
. بدلاً من ذلك، يتم تخصيص قسم super
كبير، ويمكن تحديد حجم الأقسام الفرعية بشكل ديناميكي داخله.
تحديثات النظام الديناميكية
تتيح لك تحديثات النظام الديناميكية (DSU) إنشاء صورة لنظام Android يمكن للمستخدمين تنزيلها من الإنترنت وتجربتها بدون المخاطرة بإتلاف صورة النظام الحالية.
الاحتفاظ بنسخة احتياطية واستعادة البيانات في حسابات متعدّدة المستخدمين
يتيح نظام التشغيل Android 10 لجميع المستخدمين على الجهاز إمكانية الاحتفاظ بنسخة احتياطية من البيانات واستعادتها. في السابق، كانت ميزة "الاحتفاظ بنسخة احتياطية من البيانات واستعادتها" متاحة فقط لمستخدم النظام. يكون خيار الاحتفاظ بنسخة احتياطية واستعادة البيانات للمستخدمين غير التابعين للنظام غير مفعّل تلقائيًا لأنّه يوفّر تغطية جزئية فقط للإعدادات والخلفية ومكوّنات النظام.
Overlayfs
يتوقّع المستخدمون الذين يعملون على إصدارات userdebug
أو eng
أن يتمكّنوا من إعادة تحميل قسم النظام بكفاءة كقسم للقراءة والكتابة، ثم إضافة أي عدد من الملفات أو تعديلها بدون إعادة تثبيت صورة النظام. يمكنك استخدام Overlayfs
، الذي يضبط تلقائيًا مساحة تخزين احتياطية لنظام ملفات قابل للكتابة كمرجع أعلى، ويتم تركيبه فوق المرجع الأدنى. تحدث هذه الإجراءات في طلبَي adb disable-verity
وadb remount
. لمزيد من التفاصيل، يُرجى الاطّلاع على
ملف Overlayfs README
في مشروع Android مفتوح المصدر (AOSP).
إتاحة المكتبة المشتركة في وضع الاسترداد
في نظام التشغيل Android 10، تتوفّر المكتبات المشترَكة في قسم الاسترداد، ما يلغي الحاجة إلى أن تكون جميع الملفات التنفيذية في وضع الاسترداد ثابتة. تتوفّر المكتبات المشتركة ضمن الدليل
/system/lib
(أو /system/lib64
للأجهزة المتوافقة مع 64 بت) في
القسم.
لإضافة مكتبة مشتركة جديدة إلى قسم الاسترداد، أضِف
recovery_available: true
أو recovery: true
إلى Android.bp
من المكتبة المشتركة. ويثبّت الأول المكتبة في كل من قسمَي النظام والاسترداد، بينما يثبّت الثاني المكتبة في قسم الاسترداد فقط.
لا يمكن إنشاء دعم المكتبة المشتركة باستخدام نظام الإنشاء المستند إلى Make في Android.
لتحويل ملف تنفيذي ثابت حالي لوضع الاسترداد إلى ملف تنفيذي ديناميكي،
أزِل LOCAL_FORCE_STATIC_EXECUTABLE := true
في Android.mk
أو
static_executable: true
(في Android.bp
).
نقطة التحقّق من بيانات المستخدمين (UDC)
يتضمّن نظام التشغيل Android 10 ميزة نقطة التحقّق من بيانات المستخدم (UDC)، التي تتيح لنظام التشغيل Android العودة إلى حالته السابقة عند تعذُّر إجراء تحديث عبر الأثير (OTA).