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

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

يبني

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

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

بنيان

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

التوافق مع إطار عمل HIDL

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

HALs المتاحة ديناميكيًا

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

هيدل

HIDL MemoryBlock

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

تراكبات شجرة الجهاز

تراكبات مضغوطة

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

تحديثات DTO

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

إصدار رأس الصورة DTBO

يتضمن Android 9 والإصدارات الأحدث حقل إصدار في رأس صورة DTBO.

التحقق من DTBO

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

امتثال النواة

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

البائع NDK

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

للحصول على معلومات حول تغييرات تصميم VNDK في Android 9 والإصدارات الأحدث، راجع هذه الصفحات:

مدقق ABI

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

لقطات من VNDK

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

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

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

جدول إهمال HIDL

تصف الصفحات التالية كيفية إهمال Android لـ HIDL HALs وإزالتها:

محمل الإقلاع

أقسام المنتج

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

الامتثال لسبب التمهيد الكنسي

تصف صفحة سبب التمهيد Canonical التغييرات التي تم إجراؤها على مواصفات سبب تمهيد أداة تحميل التشغيل في Android 9 والإصدارات الأحدث.

النظام كجذر

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

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

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

DTBO في الانتعاش

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

عرض

عرض القواطع

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

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

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

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

تسمح انتقالات التطبيق المتزامنة برسوم متحركة جديدة لانتقال التطبيق.

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

يتضمن نظام Android 9 والإصدارات الأحدث خدمة Text Classifier ، وهي الطريقة الموصى بها لتنفيذ تصنيف النص، وتنفيذ الخدمة الافتراضية.

لون واسع النطاق

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

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

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

التوافق

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

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

إعدادات

أدوات تطبيق أفضل

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

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

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

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

يمكن إرسال بث نظام محمي إلى التطبيقات التي تحمل إذن 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 بإنشاء اختبارات Android وتثبيتها وتشغيلها محليًا، مما يؤدي إلى تسريع عمليات إعادة تشغيل الاختبار بشكل كبير دون الحاجة إلى معرفة خيارات سطر أوامر اختبار الاتحاد التجاري.

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

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

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

خيارات سي تي إس

بالنسبة لنظام التشغيل Android 9، يحصل CTS v2 على الأمر والوسيطة التاليين:

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

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

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

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

صندوق دمج المستشعر

يتم استخدام صندوق دمج المستشعر في اختبار دمج مستشعر Camera Image Test Suite (Camera ITS) واختبار مزامنة الكاميرات المتعددة ويوفر بيئة اختبار متسقة لقياس دقة الطابع الزمني للكاميرا وأجهزة الاستشعار الأخرى لهواتف Android. راجع هذه الصفحات لمزيد من المعلومات:

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

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

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

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

إن بنية وحدة التحكم المضيفة Vendor Test Suite (VTS) هي بنية إطار اختبار VTS المتكامل مع خدمة الاختبار المستندة إلى السحابة.

اختبار HAL مع علم اسم الخدمة

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

فحص قابلية الاختبار HAL

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

البنية التحتية للاختبار الآلي

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

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

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

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

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

لمزيد من التفاصيل، راجع frameworks/base/cmds/statsd/ .

ميزات الأمان

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

يدعم نظام التوقيع v3 APK تدوير مفتاح APK.

الدعم البيومتري

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

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

يتضمن Android 9 دعمًا لمزيد من أدوات تحليل وتخفيف الاستغلال .

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

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

نواة CFI

بالإضافة إلى نظام CFI، الذي يتم تمكينه افتراضيًا، يتضمن Android 9 والإصدارات الأحدث دعمًا لتكامل تدفق التحكم في kernel (CFI) .

التشفير

التشفير القائم على الملفات

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

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

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

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

يتضمن نظام Android 9 والإصدارات الأحدث Keymaster 4 ، الذي يحتوي على هذه الميزات.

خزنة حديدية

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

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

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

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

دعم 3DES

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

ملزمة الإصدار

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

واجهة برمجة تطبيقات التأكيد المحمي لنظام Android

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

SELinux

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

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

تغييرات Treble SELinux

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

الحرف الأول للمورد

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

خصائص النظام

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

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

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

صوتي

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

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

آلة تصوير

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

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

حركة تابعة

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

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

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

معلمات الجلسة

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

منتج واحد ومستهلك متعدد

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

الاتصال

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

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

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

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

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

الناقل

تحديد هوية الناقل

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

شريحة الاتصال الإلكترونية

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

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

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

البث حالة SIM

في Android 9 والإصدارات الأحدث، تم إهمال 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 الخاصة بشركة الاتصالات على تحسين الاتصال وتفريغ حركة المرور.

العشوائية MAC

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

قم بتشغيل Wi-Fi تلقائيًا

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

خدمة الواي فاي ذهابًا وإيابًا

يسمح وقت رحلة Wi-Fi ذهابًا وإيابًا (RTT) للأجهزة بقياس المسافة إلى الأجهزة الداعمة الأخرى، سواء كانت نقاط وصول (APs) أو أقرانًا مدركين لشبكة Wi-Fi (إذا كانت 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 هو قدرة الأجهزة على العمل في أوضاع المحطة (STA) ونقطة الوصول (AP) بشكل متزامن. بالنسبة للأجهزة التي تدعم شبكة Wi-Fi مزدوجة النطاق المتزامنة (DBS)، فإن هذا يفتح إمكانات مثل عدم تعطيل شبكة STA Wi-Fi عندما يريد المستخدم تمكين نقطة اتصال (SoftAP).

تحسينات WiFiStateMachine

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

في نظام التشغيل Android 9 والإصدارات الأحدث، تمت إعادة تصميم كود إطار عمل 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 .

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

للاختبار اليدوي:

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

إهمال WPS

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

الرسومات

تطبيق

فولكان 1.1 API

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

أداة WinScope لتتبع انتقالات النوافذ

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

يوجد الكود المصدري لأداة WinScope في platform/development/tools/winscope .

تفاعل

صوت السيارات

يصف Automotive Audio بنية الصوت لتطبيقات Android المتعلقة بالسيارات.

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

مركبة هال

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

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

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

نموذج أجهزة GNSS

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

الأذونات

تكوين تحديثات التحكم في الوصول التقديرية

يحتوي تكوين التحكم في الوصول التقديري (DAC) على تحديثات لآلية معرفات Android (AIDs) لتوسيع قدرات نظام الملفات.

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

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

بيانات

تحسينات في تقدير عرض النطاق الترددي

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

على الأجهزة التي تعمل بنظام التشغيل Android 6.0 أو أعلى، يقوم المتصل الذي يريد تقدير النطاق الترددي لشبكة خلوية باستدعاء ConnectivityManager.requestBandwidthUpdate() ، وقد يوفر إطار العمل عرض النطاق الترددي المقدر للوصلة الهابطة.

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

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

مراقبة حركة المرور eBPF

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

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

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

إذا قام مصنع المعدات الأصلية (OEM) بتعديل وكلاء النسخ الاحتياطي لأي من حزم النظام (Android، النظام، الإعدادات)، فيجب على هؤلاء الوكلاء التعامل مع استعادة مجموعات النسخ الاحتياطية التي تم إجراؤها على الإصدارات الأعلى من النظام الأساسي دون تعطل ومع استعادة بعض البيانات على الأقل.

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

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

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

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

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

  • يحدد SettingBackupAgentRestoreAnyVersion restoreAnyVersion = true في Android 9 والإصدارات الأحدث. يوجد دعم جزئي عبر أدوات التحقق من الصحة. يمكن استعادة الإعداد من إصدار أعلى لواجهة برمجة التطبيقات (API) في حالة وجود أداة التحقق منه في نظام التشغيل المستهدف. يجب أن تكون إضافة أي إعداد مصحوبة بأداة التحقق الخاصة به. تحقق من الفصل للحصول على التفاصيل.

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

مَشرُوع

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

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

إيقاف وكالات السفر عبر الإنترنت مؤقتًا

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

أداء

الصحة 2.0

يتضمن نظام Android 9 والإصدارات الأحدث android.hardware.health HAL 2.0، وهو إصدار رئيسي مطور من health@1.0 HAL. لمزيد من المعلومات راجع هذه الصفحات:

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

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

التحسين الموجه للملف الشخصي

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

تسجيل الكتابة المسبقة

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

أوقات التمهيد

يقوم Android 9 بتغيير تحسين وقت التمهيد كما هو موضح في تحسين أوقات التمهيد .

قوة

قيود الخلفية

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

أجهزة بدون بطارية

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