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

تلخّص هذه الصفحة الميزات الرئيسية في إصدار Android 9، وتوفّر روابط تؤدي إلى معلومات إضافية. يتم تنظيم ملخّصات الميزات هذه وفقًا لمكان توفّر مستندات الميزة على هذا الموقع الإلكتروني. راجِع تحديثات الموقع الإلكتروني في آب (أغسطس) 2018 للحصول على دليل حول عمليات نقل الأقسام وإعادة تسميتها.

إنشاء

صورة النظام العامة (GSI)

صورة النظام العامة (GSI) هي صورة نظام تتضمّن إعدادات معدَّلة لأجهزة Android. تتضمّن صورة النظام العامة (GSI) تفاصيل حول الاختلافات بين صور النظام العامة للأجهزة التي تم إطلاقها باستخدام Android 9 والأجهزة التي تمت ترقيتها إلى Android 9.

البنية

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

التوافق مع الإصدارات القديمة لإطار عمل HIDL

التحقّق من التوافق مع الإصدارات القديمة لإطار عمل HIDL هو طريقة للتحقّق من التوافق مع الإصدارات القديمة لإطار العمل.

وحدات HAL المتاحة بشكل ديناميكي

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

HIDL

HIDL MemoryBlock

HIDL MemoryBlock هي طبقة مجرّدة تم إنشاؤها على hidl_memory وHIDL @1.0::IAllocator وHIDL @1.0::IMapper. وهي مصمَّمة لخدمات HIDL التي تتضمّن عدة وحدات ذاكرة تشترك في مجموعة ذاكرة واحدة.

عناصر مركّبة على شجرة الأجهزة

العناصر المركّبة المضغوطة

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث إمكانية استخدام التراكبات المضغوطة في صورة تراكب كائن ثنائي كبير الحجم لشجرة الأجهزة (DTBO) عند استخدام الإصدار 1 من عنوان جدول شجرة الأجهزة.

تعديلات على أنواع بيانات النقل

يتطلّب الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث أن يمرِّر برنامج التشغيل الأوّلي كائنًا ثنائيًا كبيرًا لشجرة الأجهزة الموحّدة إلى النواة قبل تعديل الخصائص المحدّدة في تراكبات شجرة الأجهزة (DTO).

إصدارات عنوان صورة DTBO

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث حقل إصدار في عنوان صورة DTBO.

التحقّق من DTBO

يتطلّب نظام التشغيل Android 9 والإصدارات الأحدث قسم DTBO. لإضافة عُقد أو إجراء تغييرات على الخصائص في شجرة وصف الجهاز (DT) الخاصة بنظام على شريحة (SoC)، يجب أن يفرض برنامج التحميل طبقة ديناميكية من شجرة وصف الجهاز الخاصة بالجهاز على شجرة وصف الجهاز الخاصة بنظام على شريحة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التجميع والتحقّق.

الامتثال لمعايير النواة

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث متطلبات تؤثر في النواة وواجهاتها واستخدام DTBO. لمزيد من المعلومات، يُرجى الاطّلاع على الصفحات التالية:

Vendor NDK

التغييرات في التصميم

للحصول على معلومات حول التغييرات في تصميم VNDK في نظام التشغيل Android 9 والإصدارات الأحدث، يُرجى الاطّلاع على الصفحات التالية:

أداة التحقّق من توافق ABI

توضّح صفحة توافق واجهة التطبيق الثنائية أداة التحقّق من توافق واجهة التطبيق الثنائية، والتي تضمن أنّ التغييرات التي يتم إجراؤها على مكتبات VNDK تحافظ على التوافق مع واجهة التطبيق الثنائية.

لقطات VNDK

يمكن أن تستخدم صورة النظام لقطات VNDK لتوفير مكتبات VNDK الصحيحة لصور المورّد حتى عندما يتم إنشاء صور النظام والمورّد من إصدارات مختلفة من Android.

كائن واجهة المورّد (كائن VINTF)

تصف الصفحات التالية في قسم كائن واجهة المورّد التحديثات في Android 9 والإصدارات الأحدث:

الجدول الزمني لإيقاف HIDL نهائيًا

توضّح الصفحات التالية كيفية إيقاف واجهات HAL المستندة إلى HIDL نهائيًا وإزالتها في Android:

برنامج الإقلاع

أقسام المنتجات

يتيح نظام التشغيل Android 9 والإصدارات الأحدث إنشاء أقسام /product باستخدام نظام الإصدار في Android. في السابق، كان الإصدار 8.x من نظام التشغيل Android يفرض فصل المكوّنات الخاصة بنظام على شريحة واحدة (SoC) عن القسم /system إلى القسم /vendor بدون تخصيص مساحة للمكوّنات الخاصة بمصنّع المعدات الأصلية (OEM) والمضمّنة في نظام الإصدار Android.

امتثال سبب التشغيل الأساسي

توضّح صفحة سبب التشغيل الأساسي التغييرات التي طرأت على مواصفات سبب تشغيل برنامج التحميل في Android 9 والإصدارات الأحدث.

النظام كجذر

يجب أن تستخدم جميع الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android والإصدارات الأحدث system-as-root، الذي يدمج ramdisk.img في system.img (المعروف أيضًا باسم no-ramdisk)، والذي يتم بدوره تركيبه كملف rootfs.

إصدارات عناوين صور التشغيل

في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، يحتوي عنوان صورة التمهيد على حقل للإشارة إلى إصدار العنوان. يجب أن يتحقّق برنامج التشغيل من حقل الإصدار هذا وأن يحلّل العنوان وفقًا لذلك.

DTBO in recovery

لمنع حدوث أخطاء في التحديث عبر الأثير (OTA) بسبب عدم تطابق صورة الاسترداد مع قسم DTBO على الأجهزة غير المتوافقة مع نظام التشغيل A/B، يجب أن تحتوي صورة الاسترداد على معلومات من صورة DTBO.

الشاشة

الأجزاء المقطوعة من الشاشة

تتيح فتحات الشاشة لمطوّري التطبيقات إنشاء تجارب غامرة من الحافة إلى الحافة مع إتاحة مساحة لأجهزة الاستشعار المهمة في مقدّمة الأجهزة.

اقتراحات التدوير

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

انتقالات التطبيقات المتزامنة

تتيح عمليات الانتقال المتزامنة بين التطبيقات إضافة مؤثرات حركية جديدة عند الانتقال بين التطبيقات.

تصنيف النصوص (TEXTCLASSIFIER سابقًا)

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث خدمة تصنيف النصوص، وهي الطريقة المقترَحة لتنفيذ عملية تصنيف النصوص، بالإضافة إلى تنفيذ تلقائي للخدمة.

الألوان ذات النطاق الواسع

يتوافق الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث مع الألوان ذات النطاق الواسع، بما في ذلك:

  • نطاق عالي الديناميكية (HDR)
  • معالجة المحتوى في مساحة الألوان BT2020، ولكن ليس كمساحة بيانات نهائية مستهدَفة

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

التوافق

مستند تعريف معايير التوافق مع Android

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

الإعدادات

تطبيقات مصغّرة أفضل

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

على الشركات المصنّعة تحديث تطبيقات المشغّل (التي يتم شحنها مع الأجهزة) لتوفير هذه الميزة إذا لم تكن تستند إلى Launcher3. على الشركات المصنّعة للأجهزة الأصلية إتاحة حقل widgetFeatures في مشغّل التطبيقات التلقائي.

يُرجى العِلم أنّ هذه الميزة لا تعمل بشكل كامل إلا عندما تنفّذها مشغّلات التطبيقات على النحو المتوقّع. يتضمّن AOSP نموذجًا للتنفيذ. راجِع معرّف التغيير Iccd6f965fa3d61992244a365efc242122292c0ca في مشروع AOSP للاطّلاع على نموذج الرمز المقدَّم.

إشعارات تغيير حالة الجهاز إلى أدوات تثبيت الحِزم

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

يمكن العثور على الرمز المصدري لإشعار تغيير حالة الجهاز في المواقع التالية ضمن platform/frameworks/base:

  • api/system-current.txt
  • core/java/android/content/Intent.java
  • core/res/AndroidManifest.xml
  • services/core/java/com/android/server/am/ActivityManagerService.java

هندسة المعلومات

توفّر التغييرات التي تم إجراؤها على بنية المعلومات لتطبيق "الإعدادات" المزيد من الوظائف وتسهّل عملية التنفيذ.

الاختبارات

Atest

تتيح لك أداة سطر الأوامر Atest إنشاء اختبارات Android وتثبيتها وتشغيلها محليًا، ما يؤدي إلى تسريع عمليات إعادة تشغيل الاختبارات بشكل كبير بدون الحاجة إلى معرفة خيارات سطر الأوامر الخاصة بإطار اختبار Trade Federation.

مجموعة أدوات اختبار التوافق

عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS)

تتوفّر حِزم "مجموعة أدوات اختبار التوافق" (CTS) المتوافقة مع نظام التشغيل Android 9 على صفحة عمليات تنزيل CTS. يمكن مزامنة رمز المصدر للاختبارات المضمّنة مع علامة android-cts-9.0_r1 في شجرة المصدر المفتوح.

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

في نظام التشغيل Android 9، يكتسب الإصدار 2 من CTS الأمر والوسيطة التاليَين:

  • run retry إعادة محاولة تنفيذ جميع الاختبارات التي تعذّر إجراؤها أو لم يتم تنفيذها من الجلسات السابقة
  • تقسّم ‘--shard-count عملية تنفيذ CTS إلى عدد محدّد من الأجزاء المستقلة، ليتم تنفيذها على أجهزة متعددة بالتوازي.

بالإضافة إلى ذلك، تمت إضافة الأمر --retry-type الذي لم يتم توثيقه سابقًا إلى مرجع أوامر وحدة التحكّم نفسه في CTS الإصدار 2.

خدمة "العنصر الآمن" (SE)

تتحقّق خدمة "العنصر الآمن" من العناصر الآمنة المتوافقة مع النظام الأساسي العالمي من خلال تحديد ما إذا كانت الأجهزة تتضمّن تنفيذًا لطبقة تجريد الأجهزة (HAL) الخاصة بالعنصر الآمن، وعددها إن وُجدت. ويتم استخدام ذلك كأساس لاختبار واجهة برمجة التطبيقات وطريقة تنفيذ العنصر الآمن الأساسي.

جهاز دمج البيانات من أجهزة الاستشعار

يتم استخدام صندوق دمج البيانات الحسية في اختبار دمج البيانات الحسية ضمن "مجموعة اختبارات صور الكاميرا" (Camera ITS) واختبار مزامنة الكاميرات المتعددة، كما يوفّر بيئة اختبار متسقة لقياس دقة الطابع الزمني للكاميرا وأجهزة الاستشعار الأخرى على هواتف Android. راجِع الصفحات التالية لمزيد من المعلومات:

نظام ITS-in-a-box مع مجال رؤية واسع

نظام ITS-in-a-box ذو مجال الرؤية الواسع هو نظام آلي مصمّم لاختبار أنظمة الكاميرات ذات مجال الرؤية الواسع (WFoV) ومجال الرؤية العادي (RFoV) في Camera ITS.

مجموعة أدوات اختبار المورّدين

بنية وحدة التحكّم المضيفة

بنية وحدة التحكّم المضيفة في "حزمة اختبار المورّد" (VTS) هي بنية إطار عمل اختبار VTS المدمج مع خدمة تقديم الاختبارات المستندة إلى السحابة الإلكترونية.

اختبار طبقة تجريد الأجهزة (HAL) التي تتوافق مع اسم الخدمة

تتيح اختبارات HAL التي تتوافق مع أسماء خدمات VTS الحصول على اسم خدمة مثيل HAL معيّن استنادًا إلى الجهاز الذي يتم تشغيل اختبارات VTS عليه.

التحقّق من إمكانية اختبار طبقة HAL

يتضمّن فحص إمكانية اختبار طبقة تجريد الأجهزة (HAL) في VTS طريقة وقت تشغيل لاستخدام إعدادات الجهاز من أجل تحديد اختبارات VTS التي يجب تخطّيها للجهاز المستهدف.

البنية الأساسية للاختبار الآلي

البنية الأساسية للاختبار الآلي هي بنية أساسية في VTS لإجراء اختبارات آلية على VTS أو CTS أو اختبارات أخرى على أجهزة الشركاء التي تعمل بصورة النظام العام (GSI) لنظام التشغيل AOSP.

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

القياس عن بُعد المتقدّم

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

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

لمزيد من التفاصيل، يمكنك الاطّلاع على frameworks/base/cmds/statsd/.

ميزات الأمان

توقيع التطبيق

يتوافق الإصدار 3 من مخطّط توقيع حِزم APK مع ميزة تغيير مفتاح حزمة APK.

التوافق مع المقاييس الحيوية

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

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

يتضمّن Android 9 إمكانية استخدام المزيد من أدوات الحدّ من الثغرات الأمنية وتحليلها.

التحقّق من سلامة تدفّق التحكّم (CFI)

سلامة تدفّق التحكّم (CFI) هي آلية أمان تمنع إجراء تغييرات على الرسم البياني الأصلي لتدفّق التحكّم في ملف ثنائي مترجَم، ما يجعل تنفيذ هذه الهجمات أكثر صعوبة.

Kernel CFI

بالإضافة إلى ميزة "سلامة تدفق التحكّم" (CFI) على مستوى النظام، والتي تكون مفعَّلة تلقائيًا، يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث استخدام ميزة سلامة تدفق التحكّم (CFI) في النواة.

التشفير

التشفير على مستوى الملفات

تم تعديل التشفير على مستوى الملفات (FBE) ليتوافق مع وحدة التخزين الخارجية القابلة للاستخدام. يجب أن تستخدم الأجهزة الجديدة التشفير على مستوى الملفات بدلاً من تشفير القرص الكامل.

تشفير البيانات الوصفية

يتوافق الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث مع تشفير البيانات الوصفية في حال توفّر دعم على مستوى الأجهزة. باستخدام تشفير البيانات الوصفية، يتم استخدام مفتاح واحد متوفّر عند بدء التشغيل لتشفير أي محتوى غير مشفّر باستخدام ميزة "التشفير المستند إلى الملفات".

ملف تخزين المفاتيح

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث Keymaster 4، الذي يتضمّن الميزات التالية.

StrongBox

يتوافق الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث مع مفاتيح Android Keystore التي يتم تخزينها واستخدامها في وحدة معالجة مركزية (CPU) منفصلة فعليًا ومصمَّمة خصيصًا للتطبيقات التي تتطلّب مستوى أمان عاليًا، مثل عنصر آمن (SE) مضمَّن. ‫StrongBox Keymaster هو تنفيذ لواجهة Keymaster HAL في أجهزة آمنة منفصلة. يتضمّن StrongBox ما يلي:

  • وحدة معالجة مركزية منفصلة
  • مساحة تخزين آمنة مدمَجة
  • أداة إنشاء أرقام عشوائية حقيقية عالية الجودة
  • عبوات مقاومة للتلاعب
  • مقاومة القنوات الجانبية

استيراد المفتاح الآمن

لاستيراد مفتاح بأمان إلى Keymaster 4، يتم تشفير مفتاح تم إنشاؤه خارج الجهاز باستخدام مواصفات الأذونات التي تحدّد كيفية استخدام المفتاح.

التوافق مع خوارزمية الترميز 3DES

يتضمّن Keymaster 4 خوارزمية 3DES لتوفير التوافق مع الأنظمة القديمة التي تستخدم هذه الخوارزمية.

ربط الإصدار

لإتاحة بنية Treble النموذجية وفصل ربط system.img بـ boot.img، غيّر Keymaster 4 نموذج ربط إصدار المفتاح ليتضمّن مستويات تصحيح منفصلة لكل قسم. ويتيح ذلك تحديث كل قسم بشكل مستقل مع توفير الحماية من العودة إلى الإصدارات السابقة.

‫Android Protected Confirmation API

تتيح الأجهزة المتوافقة التي يتم إطلاقها مع تثبيت Android 9 للمطوّرين إمكانية استخدام Android Protected Confirmation API. باستخدام واجهة برمجة التطبيقات هذه، يمكن للتطبيقات استخدام مثيل من ConfirmationPrompt لعرض طلب للمستخدم، يطلب منه الموافقة على بيان موجز. يسمح هذا البيان للتطبيق بإعادة التأكيد على أنّ المستخدم يريد إكمال معاملة حساسة، مثل إجراء دفعة.

SELinux

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

تتضمّن بيئة التطبيق المحمية إجراءات حماية جديدة وحالات اختبارية لضمان تشغيل جميع التطبيقات غير المميزة التي تستهدف الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث في بيئات SELinux المحمية الفردية.

تغييرات Treble SELinux

تم توثيق التعديلات على Treble SELinux في نظام التشغيل Android 9 والإصدارات الأحدث في عدة صفحات في قسم SELinux.

Vendor init

تؤدي عملية Vendor init إلى إغلاق الثغرة في عملية تقسيم نظام/مورّد Treble من خلال استخدام نطاق SELinux منفصل لتنفيذ أوامر /vendor بأذونات خاصة بالمورّد.

خصائص النظام

يقيّد نظام التشغيل Android 9 مشاركة خصائص النظام بين قسمَي system وvendor بدون داعٍ، كما يوفّر طريقة لضمان الاتساق بين خصائص النظام المشترَكة.

اختبارات سمات SELinux

يتضمّن Android 9 اختبارات جديدة أثناء الإنشاء تضمن أنّ جميع الملفات في مواقع جغرافية معيّنة تتضمّن السمات المناسبة. على سبيل المثال، تحتوي جميع الملفات في sysfs على سمة sysfs_type المطلوبة.

الصوت

تأثيرات صوتية عالية الدقة

تشمل التعديلات على تأثيرات الصوت العالي الدقة تحويل معالجة التأثيرات من تنسيق int16 إلى تنسيق float وزيادة عدد مقاطع الإخراج المتزامنة على الجهاز العميل، والحد الأقصى لذاكرة الجهاز العميل/الخادم، وإجمالي عدد المقاطع المختلطة.

الكاميرا

كاميرات USB خارجية

يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث استخدام كاميرات USB للتوصيل والتشغيل (أي كاميرات الويب) باستخدام واجهة برمجة التطبيقات Android Camera2 API وملف تعريف واجهة HIDL الخاص بالكاميرا.

تتبُّع الحركة

يمكن لأجهزة الكاميرا الإعلان عن إمكانية تتبُّع الحركة.

دعم الكاميرات المتعددة

يتضمّن دعم الكاميرات المتعددة توفير واجهة برمجة تطبيقات للأجهزة التي تتضمّن كاميرات متعددة، وذلك من خلال جهاز كاميرا منطقي جديد يتألف من جهازي كاميرا فعلية أو أكثر موجّهة في الاتجاه نفسه.

مَعلمات الجلسات

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

مخزن مؤقت لمنتج واحد ومستهلكين متعددين

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

إمكانية الاتصال

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

تنفيذ خطط البيانات

يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث إمكانية أفضل لمشغّلي شبكات الجوّال تنفيذ خطط البيانات باستخدام واجهات برمجة التطبيقات SubscriptionPlan.

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

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

مشغِّل شبكة الجوّال

تحديد هوية مشغّل شبكة الجوّال

في نظام التشغيل Android 9، يضيف مشروع AOSP قاعدة بيانات لمعرّفات مشغّلي شبكات الجوّال للمساعدة في تحديد مشغّلي شبكات الجوّال. تقلّل قاعدة البيانات من تكرار المنطق وتجزئة تجارب التطبيقات من خلال توفير طريقة شائعة لتحديد شركات الاتصالات.

eSIM

شريحة SIM المضمّنة (eSIM أو eUICC) هي أحدث تكنولوجيا تتيح لمستخدمي الأجهزة الجوّالة تنزيل ملف شخصي لمشغّل شبكة الجوّال وتفعيل خدمة المشغّل بدون الحاجة إلى شريحة SIM فعلية. في نظام التشغيل Android 9 والإصدارات الأحدث، يوفّر إطار عمل Android واجهات برمجة تطبيقات عادية للوصول إلى شريحة eSIM وإدارة ملفات الاشتراك على شريحة eSIM. ولمزيد من المعلومات، يمكنك الاطّلاع على ما يلي:

إتاحة شرائح SIM المتعددة لإعدادات IMS

يوفّر الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث تحسينات على إعدادات المستخدمين الخاصة بنظام IP الفرعي للوسائط المتعددة (IMS). يمكنك إعداد خدمة VoLTE ومكالمات الفيديو ومكالمات Wi-Fi لكل اشتراك على حدة بدلاً من مشاركة هذه الإعدادات مع جميع الاشتراكات.

أحداث بث حالة شريحة SIM

في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، تم إيقاف Intent.ACTION_SIM_STATE_CHANGED نهائيًا، وتمت إضافة بثّين منفصلَين لحالة البطاقة وحالة تطبيق البطاقة، وهما TelephonyManager.ACTION_SIM_CARD_STATE_CHANGED وTelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED.

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

عمليات البث الجديدة هما ‎ @SystemApis وليستا ثابتتين. يمكن فقط للمستلِمين الذين لديهم إذن READ_PRIVILEGED_PHONE_STATE تلقّي الرسائل الإذاعية.

لا تتم إعادة بث الأهداف عند إلغاء قفل الجهاز. يجب أن تستخدم عمليات الاستقبال التي تعتمد على عمليات البث المُرسَلة قبل فتح القفل directBootAware، أو يجب أن تستعلم عن الحالة بعد أن يفتح المستخدم القفل. يمكن طلب البحث عن الحالات باستخدام واجهات برمجة التطبيقات المقابلة في TelephonyManager وgetSimCardState() وgetSimApplicationState().

Wi-Fi

شبكة Wi-Fi لمشغّل شبكة الجوّال

تتيح ميزة شبكة Wi-Fi لمشغّل شبكة الجوّال للأجهزة الاتصال تلقائيًا بشبكات Wi-Fi التي يوفّرها مشغّل شبكة الجوّال. في المناطق التي تشهد ازدحامًا كبيرًا أو التي لا تتوفّر فيها تغطية شبكة الجوّال بشكل كافٍ، مثل الملاعب أو محطات القطار تحت الأرض، تساعد شبكة Wi-Fi التي يوفّرها مشغّل شبكة الجوّال في تحسين الاتصال وتخفيف الازدحام.

التوزيع العشوائي لعناوين MAC

تتيح ميزة التوزيع العشوائي لعناوين MAC للأجهزة استخدام عناوين MAC عشوائية عند البحث عن شبكات جديدة عندما لا تكون مرتبطة بشبكة حاليًا. في نظام التشغيل Android 9 والإصدارات الأحدث، يمكن تفعيل أحد خيارات المطوّرين لجعل الجهاز يستخدم عنوان MAC عشوائيًا عند الاتصال بشبكة Wi-Fi.

تشغيل شبكة Wi‑Fi تلقائيًا

عند تفعيل ميزة تفعيل Wi-Fi تلقائيًا، تتم إعادة تفعيل Wi-Fi تلقائيًا عندما يكون الجهاز بالقرب من شبكة Wi-Fi محفوظة تتضمّن مؤشر قوة إشارة مستلمة (RSSI) مرتفعًا نسبيًا.

مدة الذهاب والعودة لشبكة Wi-Fi

تتيح مدة الإرسال والاستلام (RTT) عبر شبكة Wi-Fi للأجهزة قياس المسافة إلى الأجهزة الأخرى المتوافقة، سواء كانت نقاط وصول (AP) أو أجهزة Wi-Fi Aware (في حال توفّر Wi-Fi Aware على الجهاز). تستند هذه الميزة إلى بروتوكول IEEE 802.11mc، وتتيح للتطبيقات استخدام دقة الموقع الجغرافي المحسّنة والوعي بالموقع الجغرافي.

تحسينات على نظام تسجيل شبكات Wi-Fi

تحدّد نماذج تسجيل Wi-Fi المحسّنة بسرعة وبدقة الوقت الذي يجب أن يخرج فيه الجهاز من شبكة Wi-Fi متصلة أو يدخل إلى شبكة Wi-Fi جديدة. وتوفّر هذه النماذج تجربة موثوقة وسلسة للمستخدمين من خلال تجنُّب أي انقطاع في الاتصال.

راجِع قيم RSSI وعدِّلها في مراجع config.xml، خاصةً ما يلي:

  • config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz

التزامن بين STA وAP في شبكة Wi-Fi

التزامن بين وضعَي STA وAP في شبكة Wi-Fi هو قدرة الأجهزة على العمل في وضعَي المحطة (STA) ونقطة الوصول (AP) في الوقت نفسه. بالنسبة إلى الأجهزة التي تتوافق مع شبكة Wi-Fi ثنائية النطاق المتزامنة (DBS)، يتيح ذلك إمكانات مثل عدم مقاطعة شبكة Wi-Fi الخاصة بمحطة STA عندما يريد المستخدم تفعيل نقطة اتصال (SoftAP).

تحسينات على WiFiStateMachine

WifiStateMachine هي الفئة الرئيسية المستخدَمة للتحكّم في نشاط شبكة Wi-Fi وتنسيق إدخال المستخدم (أوضاع التشغيل: نقطة اتصال أو بحث أو اتصال أو إيقاف) والتحكّم في إجراءات شبكة Wi-Fi (مثل البحث أو الاتصال).

في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، تمت إعادة تصميم بنية رمز إطار عمل Wi-Fi وتنفيذ WifiStateMachine، ما أدّى إلى تقليل حجم الرمز، وتسهيل اتّباع منطق التحكّم في Wi-Fi، وتحسين دقة التحكّم، وزيادة تغطية وحدات الاختبار وتحسين جودتها.

بشكل عام، تتيحWifiStateMachine أن تكون شبكة Wi-Fi في إحدى الحالات الأربع التالية:

  • وضع العميل (يمكن الاتصال والبحث)
  • وضع المسح الضوئي فقط
  • وضع SoftAP (نقطة اتصال Wi-Fi)
  • غير مفعَّلة (إيقاف شبكة Wi-Fi بالكامل)

لكل وضع من أوضاع Wi-Fi متطلبات مختلفة لتشغيل الخدمات، ويجب إعدادها بطريقة متسقة، مع معالجة الأحداث ذات الصلة فقط بعملية التشغيل. يقيّد التنفيذ الجديد الرمز على الأحداث ذات الصلة بهذا الوضع، ما يقلّل من وقت تصحيح الأخطاء وخطر حدوث أخطاء جديدة بسبب التعقيد. بالإضافة إلى المعالجة الصريحة لوظائف الوضع، تتم إدارة سلاسل التعليمات بطريقة متسقة، ويتم إلغاء استخدام القنوات غير المتزامنة كآلية للمزامنة.

تعديلات على أذونات Wi-Fi

في نظام التشغيل Android 9 والإصدارات الأحدث، يكون إذن تطبيق CHANGE_WIFI_STATE مفعَّلاً تلقائيًا. يمكنك إيقاف الإذن لأي تطبيق من صفحة الإعدادات في الإعدادات > التطبيقات والإشعارات > أذونات خاصة للتطبيقات > التحكّم في شبكة Wi-Fi.

يجب أن تكون التطبيقات قادرة على التعامل مع الحالات التي لم يتم فيها منح إذن CHANGE_WIFI_STATE.

للتحقّق من صحة هذا السلوك، شغِّل اختبارات Robolectric والاختبارات اليدوية.

بالنسبة إلى الاختبار اليدوي:

  1. انتقِل إلى الإعدادات > التطبيقات والإشعارات > أذونات خاصة للتطبيقات > التحكّم في شبكة Wi-Fi.
  2. اختَر إذن الوصول إلى الميكروفون لتطبيقك وأوقِفه.
  3. تأكَّد من أنّ تطبيقك يمكنه التعامل مع سيناريو عدم منح CHANGE_WIFI_STATEالإذن.

إيقاف WPS نهائيًا

بسبب مشاكل الأمان، تم إيقاف نظام Wi-Fi Protected Setup (WPS) نهائيًا في WiFiManager وإيقافه في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث. ومع ذلك، لا يزال WiFiDirect يستخدم WPS في برنامج WPA supplicant.

الرسومات

التنفيذ

Vulkan 1.1 API

يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث تنفيذ واجهة برمجة التطبيقات Vulkan 1.1 للرسومات.

أداة WinScope لتتبُّع عمليات انتقال النوافذ

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث أداة WinScope لتتبُّع عمليات انتقال النوافذ. توفّر WinScope البنية الأساسية والأدوات اللازمة لتسجيل حالة "مدير النوافذ" وتحليلها أثناء عمليات الانتقال وبعدها. يسمح هذا الخيار بتسجيل خطوات التنقّل بين النوافذ، مع تسجيل جميع حالات مدير النوافذ ذات الصلة في ملف تتبُّع. يمكنك استخدام هذه البيانات لإعادة تشغيل الانتقال وتتبُّعه خطوة بخطوة.

يمكن العثور على رمز المصدر الخاص بأداة WinScope على الرابط platform/development/tools/winscope.

التفاعل

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

تصف صوت السيارات بنية الصوت لعمليات التنفيذ ذات الصلة بالسيارات في Android.

تحدّد طبقة تجريد الأجهزة (HAL) الخاصة بالشبكات العصبية (NN) تجريدًا لمختلف أدوات التسريع. يجب أن تتوافق برامج تشغيل هذه أدوات التسريع مع طبقة HAL هذه.

طبقة تجريد الأجهزة في المركبة

تصف خصائص المركبة التغييرات التي تطرأ على واجهة HAL للمركبة.

اختيار قمر GNSS الصناعي

عند استخدام إصدارات جديدة من طبقة تجريد الأجهزة (HAL) لنظام الملاحة العالمي عبر الأقمار الصناعية (GNSS) (الإصدار 1.1 والإصدارات الأحدث)، يراقب إطار عمل Android إعدادات Android. يمكن للشركاء تغيير الإعدادات من خلال "خدمات Google Play" أو تحديثات النظام الأخرى. تُعلم هذه الإعدادات طبقة HAL لنظام GNSS بأنّه يجب عدم استخدام أقمار GNSS الصناعية معيّنة. ويمكن أن يكون ذلك مفيدًا في حال حدوث أخطاء مستمرة في الأقمار الصناعية أو المجموعات الفضائية لنظام GNSS، أو للتفاعل بشكل أسرع مع المشاكل في تنفيذ طبقة تجريد الأجهزة (HAL) لنظام GNSS التي قد تحدث عند دمج المجموعات الفضائية باستخدام أنظمة زمنية مختلفة وأحداث خارجية، مثل الانتقال إلى الثانية الكبيسة أو اليوم أو رقم الأسبوع التالي.

طراز معدّات GNSS

في نظام التشغيل Android 9، يمكن للإصدار 1.1 أو الإصدارات الأحدث من طبقة تجريد الأجهزة (HAL) لنظام GNSS نقل معلومات حول واجهة برمجة التطبيقات للأجهزة إلى النظام الأساسي. يجب أن تنفّذ المنصة واجهة IGnssCallback وتمرّر معرّفًا إلى طبقة HAL. تعرض طبقة HAL لنظام GNSS معلومات طراز الجهاز من خلال الطريقة LocationManager#getGnssHardwareModelName(). على الشركات المصنّعة للأجهزة العمل مع مقدّمي طبقة تجريد الأجهزة (HAL) لنظام GNSS لتوفير هذه المعلومات حيثما أمكن ذلك.

الأذونات

ضبط تعديلات التحكّم التقديري في الوصول

يتضمّن ضبط التحكّم التقديري في الوصول (DAC) تحديثات على آلية معرّفات Android (AID) لتوسيع إمكانات نظام الملفات.

إضافة أذونات التطبيقات ذات الامتيازات إلى القائمة البيضاء

في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، إذا كانت هناك أذونات يجب رفضها، عدِّل ملف XML لاستخدام العلامة deny-permission بدلاً من العلامة permission المستخدَمة في الإصدارات السابقة.

البيانات

تحسينات على تقدير معدّل نقل البيانات

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

على الأجهزة التي تعمل بالإصدار 6.0 من نظام التشغيل Android أو الإصدارات الأحدث، يتصل المتصل الذي يريد الحصول على تقدير للنطاق الترددي لشبكة الجوّال بالرقم ConnectivityManager.requestBandwidthUpdate()، وقد يقدّم إطار العمل تقديرًا للنطاق الترددي للتنزيل.

ولكن على الأجهزة التي تعمل بالإصدار 9 أو الإصدارات الأحدث، يتم تشغيل onCapabilitiesChanged() للدالة الاحتياطية تلقائيًا عند حدوث تغيير كبير في النطاق التقديري، ويكون استدعاء requestBandwidthUpdate() عملية غير فعّالة، ويتم ملء getLinkDownstreamBandwidthKbps() و getLinkUpstreamBandwidthKbps() ذات الصلة بمعلومات معدَّلة تقدّمها الطبقة المادية.

بالإضافة إلى ذلك، يمكن للأجهزة التحقّق من نطاقات تردّد خلايا LTE من خلال ServiceState.getCellBandwidths(). يتيح ذلك للتطبيقات تحديد مقدار معدل نقل البيانات (التردد) المتاح على خلية معيّنة. تتوفّر معلومات حول نطاق ترددي للشبكة الخلوية من خلال قائمة مخفية، ما يتيح للمختبِرين الميدانيين الاطّلاع على أحدث المعلومات.

مراقبة حركة البيانات باستخدام eBPF

تستخدم أداة eBPF لتتبُّع عدد مرات استخدام الشبكة مزيجًا من عمليات التنفيذ على مستوى النواة ومساحة المستخدم لمراقبة عدد مرات استخدام الشبكة على أحد الأجهزة منذ آخر عملية إعادة تشغيل للجهاز. توفّر هذه الأداة وظائف إضافية، مثل وضع علامات على المقابس وفصل عدد الزيارات في المقدّمة والخلفية وجدار الحماية لكل معرّف مستخدم (UID) لحظر وصول التطبيقات إلى الشبكة استنادًا إلى حالة الجهاز.

الرجوع إلى إصدارات أقدم من واجهات برمجة التطبيقات

يمكن للأجهزة الآن إجراء عملية استعادة من إصدارات مستقبلية من نظام التشغيل. ويكون ذلك مفيدًا بشكل خاص عندما يرقّي المستخدمون هواتفهم ثم يفقدونها أو تتلف.

إذا عدّل أحد مصنّعي المعدات الأصلية برامج الاحتفاظ بنسخة احتياطية لأي من حِزم النظام (android أو system أو settings)، يجب أن تتعامل هذه البرامج مع استعادة مجموعات النسخ الاحتياطية التي تم إنشاؤها على إصدارات أحدث من النظام الأساسي بدون حدوث أعطال، وأن تستعيد بعض البيانات على الأقل.

ننصحك باستخدام أداة للتحقّق من صحة القيم غير الصالحة في جزء معيّن من بيانات النسخ الاحتياطي واستعادة البيانات الصالحة فقط، كما هو موضّح في core/java/android/provider/SettingsValidators.java.

تكون هذه الميزة مفعّلة تلقائيًا. يمكن إيقاف إمكانية استعادة البيانات من الإصدارات المستقبلية باستخدام SettingsBackupAgent من خلال Settings.Global.OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION. ولا يلزم تنفيذ أي خطوات إضافية إلا إذا وسّعت الشركة المصنّعة للجهاز نطاق أحد وكلاء النسخ الاحتياطي المضمّنين في ذاكرة القراءة فقط (أو أضافت وكيلًا مخصّصًا).

تتيح هذه الميزة استعادة النظام من إصدارات مستقبلية من المنصة، ولكن من المنطقي توقُّع ألّا تكون البيانات المستعادة كاملة. تنطبق التعليمات التالية على وكلاء النسخ الاحتياطي التاليين:

  • يتوافق PackageManagerBackupAgent مع الإصدارات المستقبلية من بيانات النسخ الاحتياطي من خلال تحديد إصدار التنسيق، ويجب أن تكون الإضافات هنا متوافقة مع رمز الاستعادة الحالي أو اتّباع التعليمات الواردة في الفئة، والتي تتضمّن زيادة الثوابت المناسبة.

  • تحدّد SystemBackupAgent القيمة restoreAnyVersion = false في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث. لا يتيح استعادة البيانات من إصدارات أحدث من واجهة برمجة التطبيقات.

  • تحدّد SettingsBackupAgent القيمة restoreAnyVersion = true في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث. تتوفّر إمكانية استخدامها جزئيًا من خلال أدوات التحقّق. يمكن استعادة أحد الإعدادات من إصدار أعلى من واجهة برمجة التطبيقات إذا كان هناك أداة للتحقّق من صحة الإعداد في نظام التشغيل المستهدَف. يجب أن يكون لكل إعداد مدقّق خاص به. راجِع الصف لمعرفة التفاصيل.

  • يجب أن يزيد أي عامل نسخ احتياطي مخصّص مضمّن في ذاكرة القراءة فقط (ROM) رمز الإصدار في كل مرة يتم فيها إجراء تغيير غير متوافق على تنسيق بيانات النسخ الاحتياطي، ويجب ضمان restoreAnyVersion = false (الإعداد التلقائي) إذا لم يكن العامل جاهزًا للتعامل مع بيانات النسخ الاحتياطي من إصدار مستقبلي من الرمز.

Enterprise

تحسينات على الملفات الشخصية المُدارة

تسهّل التغييرات في تجربة المستخدم للملفات الشخصية المُدارة على المستخدمين تحديد الملف الشخصي المُدار والوصول إليه والتحكّم فيه.

إيقاف قنوات OTA مؤقتًا

تتيح واجهة برمجة التطبيقات الجديدة @SystemApi لمالكي الأجهزة إيقاف تحديثات OTA مؤقتًا إلى أجل غير مسمى، بما في ذلك تحديثات الأمان.

الأداء

Health 2.0

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث android.hardware.health HAL 2.0، وهو ترقية كبيرة للإصدار من health@1.0 HAL. لمزيد من المعلومات، يُرجى الاطّلاع على الصفحات التالية:

حلّ التخزين المؤقت لحِزم APK

يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث حلاً لتخزين حِزم APK مؤقتًا بهدف تسريع عملية تثبيت التطبيقات المحمَّلة مسبقًا على الأجهزة التي تتوافق مع أقسام A/B. يمكن لمصنّعي المعدات الأصلية وضع التطبيقات المحمَّلة مسبقًا والتطبيقات الشائعة في ذاكرة التخزين المؤقت لحِزم APK المخزَّنة في الغالب في القسم B الفارغ على الأجهزة الجديدة التي تم تقسيمها إلى قسمَين A/B بدون التأثير في أي مساحة بيانات مرئية للمستخدم.

التحسين المستند إلى الملف الشخصي

يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث استخدام ميزة "التحسين المستند إلى الملف الشخصي" (PGO) في Clang على وحدات Android الأصلية التي تتضمّن قواعد إنشاء المخططات.

تسجيل العمليات قبل تنفيذها

يتيح وضع خاص من SQLiteDatabase يُسمى تسجيل الكتابة المسبقة المتوافق (WAL) لقاعدة البيانات استخدام journal_mode=WAL مع الحفاظ على اتصال واحد كحد أقصى لكل قاعدة بيانات.

أوقات التشغيل

تغيّر الإصدار 9 من نظام التشغيل Android في تحسين وقت التشغيل على النحو الموضّح في تحسين أوقات التشغيل.

الطاقة

القيود المفروضة على العمل في الخلفية

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

الأجهزة التي لا تعمل بالبطارية

يتعامل الإصدار 9 من نظام التشغيل Android مع الأجهزة التي لا تحتوي على بطارية بشكل أفضل من الإصدارات السابقة. يزيل نظام التشغيل Android 9 الرمز البرمجي الخاص بالأجهزة التي لا تحتوي على بطارية والتي كانت تفترض تلقائيًا أنّ البطارية متوفرة ومشحونة بنسبة %100 وبحالة جيدة مع قراءة درجة حرارة عادية على الثرمستور.