تلخِّص هذه الصفحة الميزات الرئيسية في الإصدار Android 9، وتوفِّر روابط تؤدي إلى معلومات إضافية. يتم تنظيم ملخّصات الميزات هذه وفقًا لمكان مستندات الميزة على هذا الموقع الإلكتروني. اطّلِع على تحديثات الموقع الإلكتروني في آب (أغسطس) 2018 للحصول على دليل حول نقل الأقسام وإعادة تسميتها.
إنشاء
صورة نظام عامة (GSI)
صورة النظام العام (GSI) هي صورة نظام تم ضبط إعداداتها لأجهزة Android. تتضمّن صورة النظام العام (GSI) تفاصيل عن اختلافات صور النظام العام (GSI) للأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android والأجهزة التي يتم ترقيتها إلى الإصدار 9 من نظام التشغيل Android.
هندسة معمارية
طبقة تجريد الأجهزة (HAL)
التوافق مع الإصدارات القديمة من إطار عمل HIDL
التحقّق من التوافق مع الإصدارات القديمة لإطار عمل HIDL هي طريقة للتحقّق من التوافق مع الإصدارات القديمة من إطار العمل.
واجهات برمجة التطبيقات لأجهزة الاستشعار المتاحة ديناميكيًا
واجهات HAL المتاحة ديناميكيًا: تسمح هذه الواجهات بإيقاف الوحدات الفرعية لأجهزة Android ديناميكيًا عندما لا تكون في استخدام أو عندما لا تكون مطلوبة.
HIDL
HIDL MemoryBlock
HIDL MemoryBlock هي طبقة مجردة
تم إنشاؤها استنادًا إلى hidl_memory
وHIDL @1.0::IAllocator
وHIDL @1.0::IMapper
. وهو مخصّص لخدمات HIDL التي تحتوي على وحدات ذاكرة متعددة تشترك في كومة ذاكرة واحدة.
عناصر مركّبة على شجرة الأجهزة
التراكبات المضغوطة
يتيح الإصدار 9 من Android والإصدارات الأحدث استخدام العناصر المتراكبة المضغوطة في صورة عنصر DTBO (العنصر المتراكب لبنية الجهاز) عند استخدام الإصدار 1 من عنوان جدول بنية الجهاز.
تعديلات على DTO
يتطلّب نظام التشغيل Android 9 والإصدارات الأحدث أن يُرسِل أداة تحميل البرامج الثابتة ملفًا مضغوطًا موحّدًا لبنية شجرة الجهاز إلى النواة قبل تعديل السمات المحدّدة في طبقات بنية شجرة الجهاز (DTO).
إصدارات عناوين صور DTBO
يتضمّن الإصدار 9 من Android والإصدارات الأحدث حقل الإصدار في عنوان صورة DTBO.
إثبات صحة بيانات DTBO
يتطلب نظام التشغيل Android 9 والإصدارات الأحدث قسم DTBO. لإضافة عقد أو إجراء تغييرات على الخصائص في وصف بيانات SoC، يجب أن يُدمج أداة تحميل البرامج التمهيدية وصف بيانات خاص بالجهاز بشكل ديناميكي فوق وصف بيانات SoC. لمزيد من المعلومات، يُرجى الاطّلاع على الترجمة والتحقق.
امتثال النواة
يتضمّن الإصدار 9 من Android والإصدارات الأحدث متطلبات تؤثر في النواة وحدود واجهاتها واستخدام وحدات DTBO. لمزيد من المعلومات، يُرجى الاطّلاع على الصفحات التالية:
- إصدارات "النواة" الثابتة والتحديثات
- النواة الشائعة لنظام التشغيل Android
- متطلبات نواة النظام المُركّبة
- متطلبات الواجهة
- تراكبات شجرة الجهاز
حزمة تطوير البرامج (NDK) الخاصة بالمورّد
التغييرات في التصميم
للحصول على معلومات عن التغييرات في تصميم حزمة VNDK في الإصدار 9 من Android والإصدارات الأحدث، يُرجى الاطّلاع على الصفحات التالية:
- مجموعة تطوير البرامج الأصلية للمورّدين (VNDK)
- التوافق مع نظام إنشاء مجموعة تطوير أصلية للمورّدين (VNDK)
- أداة تعريف مجموعة تطوير البرامج الأصلية للمورّدين (VNDK)
- الأدلة والقواعد وسياسات الأمان
- إضافات VNDK
- مساحة اسم الرابط
أداة التحقّق من ABI
توضّح صفحة استقرار واجهة ABI أداة التحقّق من واجهة ABI، والتي تضمن أنّ التغييرات التي يتم إجراؤها على مكتبات VNDK تحافظ على الامتثال لواجهة ABI.
لقطات مجموعة تطوير البرامج الأصلية للمورّدين (VNDK)
يمكن أن تستخدم صورة النظام لقطات VNDK لتوفير مكتبات VNDK الصحيحة لصور المصنّعين حتى في حال إنشاء صور النظام والمصنعين من إصدارات مختلفة من Android.
عنصر واجهة المورّد (كائن VINTF)
تصف الصفحات التالية في قسم عنصر واجهة المورّد التحديثات في Android 9 والإصدارات الأحدث:
الجدول الزمني لإيقاف HIDL نهائيًا
توضّح الصفحات التالية كيفية إيقاف واجهات HIDL HAL نهائيًا وإزالتها من نظام التشغيل Android:
برنامج الإقلاع
أقسام المنتجات
يتيح نظام التشغيل Android 9 والإصدارات الأحدث إنشاء
أقسام /product
باستخدام
نظام إنشاء Android. في السابق، كان نظام التشغيل Android 8.x يفرض فصل المكوّنات الخاصة بوحدة النظام على الرقاقة (SoC) من القسم /system
إلى القسم
/vendor
بدون تخصيص مساحة للمكوّنات الخاصة بالمصنّع الأصلي للجهاز والتي تم إنشاؤها
من نظام إنشاء Android.
الامتثال لسبب التمهيد الأساسي
توضّح صفحة سبب التمهيد الأساسي التغييرات التي طرأت على مواصفات سبب التمهيد لنظام التشغيل Android 9 والإصدارات الأحدث.
النظام بصفتها الجذر
يجب أن تستخدم جميع الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android والإصدارات الأحدث system-as-root، الذي يدمج ramdisk.img
في system.img
(المعروف أيضًا باسم no-ramdisk)، والذي يتم تثبيته بدوره
كنظام rootfs.
إصدارات عناوين صور التشغيل
في الإصدار 9 من Android والإصدارات الأحدث، يحتوي عنوان صورة التمهيد على حقل للإشارة إلى إصدار العنوان. يجب أن يتحقّق مشغّل الإقلاع من حقل الإصدار هذا ويحلّل العنوان وفقًا لذلك.
DTBO في مرحلة الاسترداد
لمنع حدوث أخطاء في التحديث عبر الهواء بسبب عدم تطابق ملف استرداد البيانات وpartition DTBO على الأجهزة غير المزوّدة بميزة A/B، يجب أن يحتوي ملف الاسترداد على معلومات من ملف DTBO.
الشاشة
أجزاء مُقتطعة من الشاشة
تسمح فتحات الشاشة لمطوّري التطبيقات بتوفير تجارب شاملة من الحافة إلى الحافة مع توفير مساحة لشدَّاد الأجهزة المهمة على واجهة الأجهزة.
اقتراحات التدوير
تتضمّن التعديلات على سلوك دوران الشاشة في Android 9 والإصدارات الأحدث ميزة التحكّم في دوران الشاشة للمستخدمين، سواء كان ذلك في الوضع الأفقي أو العمودي حتى إذا تغيّر موضع الجهاز.
عمليات نقل التطبيقات المتزامنة
عمليات انتقال التطبيقات المتزامنة: تتيح استخدام مؤثرات حركية جديدة لعمليات انتقال التطبيقات.
تصنيف النصوص (المعروف سابقًا باسم TEXTCLASSIFIER)
يتضمّن الإصدار 9 من Android والإصدارات الأحدث خدمة Text Classifier، وهي الطريقة المقترَحة لتنفيذ تصنيف النصوص، وتنفيذ الخدمةتلقائيًا.
الألوان ذات النطاق الواسع
يتيح نظام التشغيل Android 9 والإصدارات الأحدث استخدام الألوان ذات النطاق الواسع، بما في ذلك:
- نطاق عالي الديناميكية (HDR)
- معالجة المحتوى في مساحة الألوان BT2020، ولكن ليس كمساحة بيانات مستهدفة نهائيًا
لاستخدام الألوان ذات النطاق الواسع، يجب أن تكون حزمة العرض الكاملة للجهاز (مثل الشاشة والأجهزة المُركِّب ووحدة معالجة الرسومات) متوافقة مع الألوان ذات النطاق الواسع أو تنسيقات المخزن المؤقت. ليس مطلوبًا من الأجهزة تحديد إمكانية عرض المحتوى بنطاق الألوان الواسع حتى إذا كانت الأجهزة متوافقة معه. ومع ذلك، يجب تفعيل الألوان ذات النطاق الواسع للاستفادة بشكل كامل من الأجهزة. لتجنُّب تجربة مرئية غير متّسقة، يجب عدم إيقاف ميزة "ألوان النطاق الواسع" أثناء التشغيل.
التوافق
مستند تعريف التوافق مع Android
يعيد مستند تعريف التوافق مع Android 9 (CDD) مراجعة الإصدارات السابقة من خلال إضافة تعديلات على ميزات الجديدة وتغيير متطلبات الوظائف التي تم إصدارها سابقًا.
الإعدادات
تطبيقات مصغّرة أفضل للتطبيقات
يقدّم إطار عمل التطبيقات المصغّرة لنظام التشغيل Android مستوى رؤية أكبر لتفاعلات المستخدمين، خاصةً عند حذف المستخدم التطبيقات المصغّرة أو إضافتها يدويًا. تأتي هذه الميزة تلقائيًا مع Launcher3.
على الشركات المصنّعة تحديث تطبيقات مشغّلات التطبيقات (التي يتم شحن الأجهزة بها) لتتيح هذه الميزة إذا لم تكن مستندة إلى Launcher3. على المصنّعين الأصليين للأجهزة إتاحة استخدام حقل widgetFeatures الجديد في مشغّل التطبيقات التلقائي.
يُرجى العِلم أنّ هذه الميزة لا تعمل بشكل كامل إلا عندما تُطبّقها مشغّلات التطبيقات على النحو المتوقّع. يتضمّن 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
تتيح لك أداة سطر الأوامر Atest إنشاء اختبارات Android وتثبيتها وتشغيلها على الجهاز، ما يسرع بشكل كبير إعادة تشغيل الاختبارات بدون الحاجة إلى معرفة خيارات سطر الأوامر لبرنامج Trade Federation test harness.
مجموعة أدوات اختبار التوافق
عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS)
تتوفّر حِزم مجموعة أدوات اختبار التوافق (CTS) المتوافقة مع Android 9 في صفحة
عمليات تنزيل مجموعة أدوات اختبار التوافق (CTS). يمكن مزامنة رمز المصدر لاختبارات
المضمّنة باستخدام العلامة android-cts-9.0_r1
في ملف رمز المصدر لملف
الترميز المفتوح.
خيارات CTS
بالنسبة إلى Android 9، تحصل الإصدار 2 من CTS على الأمر والوسيطة التاليَين:
run retry
يعيد إجراء جميع الاختبارات التي تعذّر إجراؤها أو لم يتم تنفيذها من الجلسات السابقة.‘--shard-count
تجزئة عملية CTS إلى عدد محدّد من الأجزاء المستقلة لتشغيلها على أجهزة متعددة بشكل متزامن
بالإضافة إلى ذلك، تمت إضافة الأمر غير المُوثَّق سابقًا --retry-type
إلى مرجع أوامر وحدة تحكّم الإصدار 2 من CTS نفسه.
خدمة "العنصر الآمن"
تتحقّق خدمة العنصر الآمن من العناصر الآمنة المتوافقة مع النظام الأساسي على مستوى العالم من خلال تحديد ما إذا كانت الأجهزة تتضمّن تنفيذًا لواجهة برمجة التطبيقات لوحدة التحكّم في العناصر الآمنة (SE HAL) وعدد هذه الأجهزة في حال توفّرها. ويُستخدَم ذلك كأساس لاختبار واجهة برمجة التطبيقات وتنفيذ العنصر الآمن الأساسي.
مربّع دمج بيانات أجهزة الاستشعار
يتم استخدام مربّع دمج البيانات من أجهزة الاستشعار في مجموعة اختبارات صور الكاميرا (Camera ITS) لاختبار دمج البيانات من أجهزة الاستشعار واختبار مزامنة الكاميرات المتعدّدة، كما يقدّم بيئة اختبار متسقة لقياس دقة الطابع الزمني للكاميرا وأجهزة الاستشعار الأخرى على هواتف Android. اطّلِع على هذه الصفحات للحصول على مزيد من المعلومات:
- يقدّم دليل البدء السريع لصندوق دمج الاستشعار خطوات إعداد اختبار دمج الاستشعار وصندوق دمج الاستشعار للمرة الأولى.
- تجميع صندوق دمج البيانات من أجهزة الاستشعار: يعرض هذا القسم خطوات تجميع صندوق دمج البيانات من أجهزة الاستشعار.
نظام ITS متكامل في علبة يتميز بمجال رؤية واسع
نظام ITS المتكامل لكاميرات مجال الرؤية الواسع: هو نظام مبرمَج مصمّم لاختبار أنظمة كاميرات مجال الرؤية الواسع (WFoV) وأنظمة كاميرات مجال الرؤية العادي (RFoV) في نظام ITS للكاميرا.
مجموعة اختبار المورّد
بنية وحدة التحكّم في المضيف
بنية عنصر التحكّم في المضيف في "مجموعة اختبارات المورّدين" (VTS) هي بنية إطار عمل اختبار VTS المدمجة مع خدمة عرض الاختبار المستندة إلى السحابة الإلكترونية.
اختبار HAL المدرك لاسم الخدمة
يتيح اختبار HAL المدرك لاسم خدمة VTS الحصول على اسم الخدمة مثيل HAL معيّن استنادًا إلى الجهاز الذي يتم تشغيل اختبارات VTS عليه.
التحقّق من قابلية اختبار HAL
يتضمّن فحص قابلية اختبار HAL في اختبارات الأمان للأجهزة أسلوبًا للوقت التشغيل لاستخدام إعدادات الجهاز لتحديد اختبارات VTS التي ينبغيتخطّيها لهذا الجهاز المستهدَف.
البنية الأساسية للاختبار الآلي
البنية الأساسية للاختبار المبرمَج: هي بنية أساسية لاختبار سلامة الإصدار (VTS) للاختبار المبرمَج لاختبار سلامة الإصدار أو اختبار CTS أو اختبارات أخرى على أجهزة الشركاء التي تعمل بنظام التشغيل AOSP العام (GSI).
تصحيح الأخطاء
قياس الأداء المتقدّم
في Android، القياس عن بُعد هو عملية جمع معلومات الاستخدام والتشخيص تلقائيًا عن الجهاز ونظام Android والتطبيقات. في الإصدارات السابقة من Android، كانت حِزم القياس محدودة ولم تكن تجمع المعلومات اللازمة لتحديد وحلّ مشاكل موثوقية النظام والجهاز أو التطبيق. وقد جعل ذلك من الصعب تحديد الأسباب الأساسية للمشاكل، إن لم يكن مستحيلاً.
يتضمّن الإصدار 9 من Android ميزة statsd
القياس عن بُعد التي تعالج هذا
النقص من خلال جمع بيانات أفضل بشكل أسرع. يجمع statsd
إحصاءات استخدام التطبيقات والبطارية والعمليات والأعطال. ويتم تحليل البيانات
واستخدامها لتحسين المنتجات والأجهزة والخدمات.
لمزيد من التفاصيل، يُرجى الاطّلاع على frameworks/base/cmds/statsd/
.
ميزات الأمان
توقيع التطبيق
يتيح الإصدار 3 من مخطّط توقيع حِزم APK تغيير مفاتيح تشفير حِزم APK.
إتاحة المقاييس الحيوية
يتضمّن Android 9 الفئة العامة
BiometricPrompt
،
التي يمكن للتطبيقات استخدامها لدمج ميزة المصادقة البيومترية بطريقة
لا تعتمد على الجهاز أو طريقة المصادقة. لمزيد من المعلومات عن دمج
حزمة المقاييس الحيوية لتضمين BiometricPrompt
، اطّلِع على
المقاييس الحيوية.
التحليل الديناميكي
يتضمّن نظام Android 9 مزيدًا من أدوات تحليل وتجنُّب عمليات الاستيلاء.
سلامة تدفّق التحكّم (CFI)
سلامة تدفّق التحكّم (CFI) هي آلية أمان تحظر إجراء تغييرات على الرسم البياني الأصلي لتدفّق التحكّم في ملف ثنائي مجمّع، مما يجعل تنفيذ هذه الهجمات أكثر صعوبة.
CFI في النواة
بالإضافة إلى ميزة CFI للنظام التي تكون مفعّلة تلقائيًا، يشتمل الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث على ميزة سلامة تدفق التحكّم في النواة (CFI).
التشفير
التشفير على مستوى الملفات
تم تعديل ميزة التشفير على مستوى الملفات (FBE) للعمل مع مساحة التخزين القابلة للتخصيص. على الأجهزة الجديدة استخدام التشفير المستند إلى الملفات بدلاً من تشفير القرص بالكامل.
تشفير البيانات الوصفية
يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث تشفير البيانات الوصفية في حال توفّر إمكانية استخدام الأجهزة. من خلال تشفير البيانات الوصفية، يستخدم مفتاح واحد متوفّر في وقت التشغيل أسلوب التشفير المستنِد إلى الملفات لتشفير أي محتوى غير مشفَّر.
ملف تخزين المفاتيح
يتضمّن الإصدار 9 من Android والإصدارات الأحدث Keymaster 4، الذي يتضمّن هذه الميزات.
StrongBox
يتيح الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث استخدام مفاتيح "متجر مفاتيح Android" التي يتم تخزينها واستخدامها في وحدة معالجة مركزية منفصلة عن بعضها مصمّمة خصيصًا لتطبيقات الأمان العالي، مثل العنصر الآمن (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 الثغرة
في عملية تقسيم نظام/مورّد Treble باستخدام نطاق
SELinux منفصل لتشغيل أوامر /vendor
باستخدام أذونات خاصة بالمورّد.
خصائص النظام
يحظّر نظام التشغيل Android 9 مشاركة خصائص النظام
بين قسمَي system
وvendor
بدون داعٍ، ويقدّم
طريقة لضمان الاتساق بين خصائص النظام المشترَكة.
اختبارات سمات SELinux
يتضمّن Android 9 اختبارات جديدة في وقت الإنشاء تضمن أن تتضمّن جميع الملفات في مواقع معيّنة السمات المناسبة.
على سبيل المثال، تحتوي جميع الملفات في sysfs
على سمة sysfs_type
المطلوبة.
الصوت
تأثيرات صوتية عالية الدقة
تتضمّن التعديلات على مؤثرات الصوت العالية الدقة تحويل معالجة المؤثرات من تنسيق int16 إلى تنسيق float، وزيادة في أغاني الإخراج المتزامنة للعملاء والحد الأقصى لذاكرة العميل/الخادم وإجمالي المقاطع الممزوجة.
الكاميرا
كاميرات USB الخارجية
يتيح نظام التشغيل Android 9 والإصدارات الأحدث استخدام كاميرات USB التي تعمل بالتوصيل والتشغيل (أي كاميرات الويب) باستخدام واجهة Android Camera2 API المعيار وواجهة HIDL للكاميرا.
تتبُّع الحركة
يمكن لأجهزة الكاميرا الترويج لميزة تتبُّع الحركة.
إتاحة استخدام كاميرات متعددة
تشمل إمكانية استخدام كاميرات متعددة استخدام واجهة برمجة التطبيقات لأجهزة كاميرات متعددة من خلال جهاز كاميرا منطقي جديد يتألف من جهازَي كاميرا أو أكثر موجهَين في الاتجاه نفسه.
مَعلمات الجلسة
يمكن أن يؤدي تنفيذ مَعلمات الجلسة إلى تقليل التأخيرات من خلال السماح لعملاء الكاميرا بضبط مجموعة فرعية من مَعلمات الطلبات المكلّفة بشكل نشط كجزء من مرحلة بدء جلسة الالتقاط.
ذاكرة تخزين واحدة للمنتج وذاكرات تخزين متعددة للمستهلكين
نقل بيانات مخبّر الكاميرا لمنتج واحد ومستهلكين متعدّدين هي مجموعة من الطرق التي تسمح لعملاء الكاميرا بإضافة مساحات عرض الإخراج وإزالتها بشكل ديناميكي أثناء نشاط جلسة الالتقاط وبث الكاميرا المستمر.
إمكانية الاتصال
الاتصال والمراسلة
تنفيذ خطط البيانات
يقدّم نظام التشغيل Android 9 والإصدارات الأحدث دعمًا محسّنًا لمشغّلي شبكات الجوّال في ما يتعلّق بتنفيذ خطط البيانات باستخدام واجهات برمجة التطبيقات SubscriptionPlan.
تطبيقات الاتصال التابعة لجهات خارجية
يقدّم الإصدار 9 من Android والإصدارات الأحدث واجهات برمجة تطبيقات تتيح لتطبيقات الاتصال التابعة لجهات خارجية التعامل مع المكالمات الواردة المتزامنة من مشغّل شبكة الجوّال وتسجيل المكالمات في سجلّ مكالمات النظام.
مشغِّل شبكة الجوّال
معرّف مشغّل شبكة الجوّال
في Android 9، يضيف إطار عمل AOSP قاعدة بيانات لرقم تعريف مشغل شبكة الجوال للمساعدة في تحديد مشغل شبكة الجوال. تعمل قاعدة البيانات على الحدّ من تكرار المنطق وتجارب التطبيقات المجزّأة من خلال توفير طريقة مشتركة لتحديد مشغّلي الشبكات.
eSIM
شريحة SIM المضمّنة (eSIM أو eUICC) هي أحدث تكنولوجيا تتيح لمستخدمي الأجهزة الجوّالة تنزيل ملف شخصي لمشغِّل شبكة الجوّال وتفعيل خدمة مشغِّل شبكة الجوّال بدون استخدام شريحة SIM فعلية. في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، يقدّم إطار عمل Android واجهات برمجة تطبيقات عادية للوصول إلى شريحة eSIM وإدارة الملفات الشخصية للاشتراكات على شريحة eSIM. ولمزيد من المعلومات، يمكنك الاطّلاع على ما يلي:
إتاحة استخدام شرائح SIM متعددة لإعدادات IMS
يقدّم الإصدار 9 من Android والإصدارات الأحدث تحسينات على إعدادات المستخدم في النظام الفرعي لوسائط الوسائط عبر بروتوكول الإنترنت (IMS). يمكنك إعداد مكالمات الفيديو ومكالمات الفيديو عبر شبكة Wi-Fi وميزة "نقل الصوت عبر شبكة LTE" (VoLTE) لكل اشتراك بدلاً من مشاركة هذه الإعدادات على جميع الاشتراكات.
عمليات بث حالة شريحة 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 عشوائية عند البحث عن شبكات جديدة في حال عدم ربطها حاليًا بشبكة. في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث، يمكن تفعيل خيار المطوّر لجعل الجهاز يستخدم عنوان MAC عشوائيًا عند الاتصال بشبكة Wi-Fi.
تشغيل شبكة Wi‑Fi تلقائيًا
عند تفعيل ميزة تفعيل Wi-Fi تلقائيًا ، تتم إعادة تفعيل Wi-Fi تلقائيًا عندما يكون الجهاز بالقرب من شبكة Wi-Fi محفوظة ذات مؤشر مرتفع بما يكفي لقوة إشارة المستلَمة (RSSI).
مدة الإرسال والاستقبال في شبكة Wi-Fi
يسمح وقت رحلة Wi-Fi ذهابًا وإيابًا (RTT) للأجهزة بقياس المسافة إلى الأجهزة المتوافقة الأخرى، سواء كانت نقاط وصول (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
التزامن بين محطة Wi-Fi الجوّالة ونقطة الوصول
التشغيل المتزامن لمحطة Wi-Fi/نقطة الوصول هو إمكانية عمل الأجهزة في وضعَي المحطة (STA) ونقطة الوصول (AP) بالتزامن. بالنسبة إلى الأجهزة التي تتوافق مع شبكة Wi-Fi ثنائية النطاق المتزامنة (DBS)، يؤدي ذلك إلى إتاحة إمكانات مثل عدم إيقاف شبكة Wi-Fi لجهاز العميل عندما يريد العميل تفعيل نقطة اتصال (SoftAP).
تحسينات على WiFiStateMachine
WifiStateMachine
هي الفئة الرئيسية المستخدَمة للتحكّم في نشاط Wi-Fi وتنسيق
مدخلات المستخدم (أوضاع التشغيل: نقطة اتصال أو فحص أو اتصال أو إيقاف) والتحكّم في
إجراءات شبكة Wi-Fi (مثل الفحص أو الاتصال).
في الإصدار 9 من Android والإصدارات الأحدث، تمت إعادة تصميم رمز إطار عمل Wi-Fi وتنفيذ
WifiStateMachine
، ما أدى إلى تقليل حجم الرمز،
وجعل منطق التحكّم في Wi-Fi أسهل للمتابعة، وتحسين دقة التحكّم،
وزيادة تغطية اختبارات الوحدة وجودتها.
على مستوى عالٍ،WifiStateMachine
يسمح بضبط شبكة Wi-Fi على إحدى الحالات الأربع التالية:
- وضع العميل (يمكنه الاتصال والبحث)
- وضع "المسح فقط"
- وضع نقطة اتصال Wi-Fi (SoftAP)
- غير مفعَّلة (شبكة Wi-Fi متوقفة تمامًا)
لكل وضع من أوضاع Wi-Fi متطلبات مختلفة لتشغيل الخدمات، ويجب إعداده بطريقة متّسقة، مع معالجة الأحداث ذات الصلة فقط بتشغيله. يحصر التنفيذ الجديد الرمز البرمجي بالأحداث ذات الصلة بهذا الوضع، ما يقلل من وقت تصحيح الأخطاء وخطر إدخال أخطاء جديدة بسبب التعقيد. بالإضافة إلى التعامل الواضح مع وظائف الوضع، تتم إدارة ملف المناقشة بطريقة متسقة ويتم إيقاف استخدام القنوات غير المتزامنة كآلية للمزامنة.
تعديلات على إذن شبكة Wi-Fi
في الإصدار Android 9 والإصدارات الأحدث، يكون إذن تطبيق CHANGE_WIFI_STATE
مفعَّلاً
تلقائيًا. يمكنك إيقاف هذا الإذن لأي
تطبيق في صفحة الإعدادات من خلال الإعدادات > التطبيقات والإشعارات >
أذونات خاصة للتطبيقات > التحكّم في شبكة Wi-Fi.
يجب أن تكون التطبيقات قادرة على التعامل مع الحالات التي لا يتم فيها منح الإذن CHANGE_WIFI_STATE
.
للتحقّق من هذا السلوك، يمكنك إجراء اختبارات roboelectric والاختبارات اليدوية.
للاختبار اليدوي:
- انتقِل إلى الإعدادات > التطبيقات والإشعارات > أذونات خاصة للتطبيقات > التحكّم في شبكة Wi-Fi.
- اختَر إذن الوصول إلى الكاميرا وأوقِفه في تطبيقك.
- تأكَّد من أنّ تطبيقك يمكنه التعامل مع السيناريو الذي لا يتم فيه منح
CHANGE_WIFI_STATE
الإذن.
إيقاف بروتوكول WPS نهائيًا
بسبب مشاكل متعلقة بالأمان، تم إيقاف نهائيًا نظام Wi-Fi Protected Setup (WPS) في WiFiManager
وإيقافه في الإصدار 9 من Android والإصدارات الأحدث. ومع ذلك، لا يزال WiFiDirect
يستخدم
WPS في برنامج طلب WPA.
الرسومات
التنفيذ
Vulkan 1.1 API
يتوافق الإصدار 9 من Android والإصدارات الأحدث مع تنفيذ واجهة برمجة تطبيقات الرسومات Vulkan 1.1.
أداة WinScope لتتبُّع انتقال النوافذ
يتضمّن الإصدار 9 من Android والإصدارات الأحدث أداة WinScope لتتبُّع عمليات انتقال النوافذ. يوفّر WinScope بنية أساسية وأدوات لتسجيل حالة مدير النوافذ وتحليلها أثناء عمليات النقل وبعدها. ويسمح هذا الخيار بتسجيل عمليات نقل النوافذ والتنقّل بينها، مع تسجيل جميع حالات مدير النوافذ ذات الصلة في ملف تتبُّع. ويمكنك استخدام هذه البيانات لإعادة تشغيل عملية النقل والانتقال إليها خطوة بخطوة.
يمكن العثور على رمز المصدر الخاص بأداة WinScope على الرابط
platform/development/tools/winscope
.
التفاعل
صوتيات للسيارة
يصف الصوت في السيارات بنية الصوت لعمليات تنفيذ Android ذات الصلة بالسيارات.
تحدِّد واجهة برمجة التطبيقات للشبكات العصبية (NN) واجهة برمجة تطبيقات برمجية تمثل تصاميم مختلفة للمسرِّعات. يجب أن تمتثل برامج تشغيل هذه المُسرِّعات لواجهة HAL هذه.
Vehicle HAL
تصف خصائص المركبات التغييرات التي تطرأ على واجهة HAL للمركبة.
اختيار قمر GNSS الصناعي
عند استخدام واجهات برمجة التطبيقات (HAL) الجديدة لنظام تحديد المواقع العالمي عبر الأقمار الصناعية (GNSS) (الإصدار 1.1 والإصدارات الأحدث)، ترصد إطار عمل Android إعدادات Android. يمكن للشركاء تغيير الإعدادات من خلال "خدمات Google Play" أو تحديثات النظام الأخرى. تُعلم هذه الإعدادات واجهة HAL لنظام تحديد المواقع العالمي عبر الأقمار الصناعية (GNSS) إذا كان لا يجب استخدام أقمار صناعية معيّنة من نظام GNSS. يمكن أن يكون ذلك مفيدًا في حال حدوث أخطاء متكررة في الأقمار الصناعية أو المجموعات النجمية لنظام تحديد المواقع العالمي (GNSS)، أو لل reagting بشكل أسرع مع مشاكل تنفيذ HAL لنظام تحديد المواقع العالمي (GNSS) التي قد تحدث عند مزج المجموعات النجمية باستخدام أنظمة زمنية وأحداث خارجية مختلفة، مثل تغييرات الثواني الكبيسة أو اليوم أو الأسبوع.
طراز جهاز نظام تحديد المواقع العالمي (GNSS)
في Android 9، يمكن للإصدار 1.1 من GNSS HAL أو الإصدارات الأحدث
تمرير معلومات عن واجهة برمجة التطبيقات للأجهزة إلى النظام الأساسي. يجب أن تُنفِّذ المنصة واجهة IGnssCallback
وتُمرِّر معرّفًا إلى HAL. يُرسِل GNSS
HAL معلومات طراز الجهاز من خلال 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
.
تكون الميزة مفعّلة تلقائيًا. يمكن إيقاف ميزة استعادة البيانات من الإصدارات القادمة من خلال Settings.Global.OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION
. لا يلزم تنفيذ أي إجراءات إضافية ما لم تُمدِّد الشركة المصنِّعة للجهاز أحد تطبيقات
الدعم الاحتياطي المضمّنة في البرنامج الثابت (أو تضيف تطبيقًا مخصّصًا).
تتيح هذه الميزة استعادة النظام من إصدارات مستقبلية من المنصة، ومع ذلك، من المنطقي توقّع أنّ البيانات التي تم استعادتها لن تكون كاملة. تنطبق الخطوات التالية على وكلاء الاحتفاظ بنسخة احتياطية التاليين:
يتيح PackageManagerBackupAgent الإصدارات المستقبلية من بيانات النسخة الاحتياطية من خلال استخدام نظام تحديد الإصدارات بالاستناد إلى التنسيق. يجب أن تكون الإضافات هنا متوافقة مع رمز الاستعادة الحالي أو أن تتّبع التعليمات الواردة في الفئة، والتي تشمل تعديل الثوابت المناسبة.
يحدِّد SystemBackupAgent
restoreAnyVersion = false
في الإصدار 9 من Android والإصدارات الأحدث. لا تتيح هذه الطريقة استعادة البيانات من إصدارات أعلى من واجهة برمجة التطبيقات.يحدِّد SettingsBackupAgent
restoreAnyVersion = true
في Android 9 والإصدارات الأحدث. تتوفّر إمكانية جزئية من خلال المدقّقين. يمكن استعادة أحد الإعدادات من إصدار أعلى من واجهة برمجة التطبيقات إذا كان هناك مدقّق له في نظام التشغيل المستهدَف. يجب أن تكون إضافة أي إعداد مصحوبة بمدقّق الإعداد. يُرجى الاطّلاع على الصف لمعرفة التفاصيل.يجب أن يزيد أي ممثّل احتياطي مخصّص مضمّن في ذاكرة ROM الإصدار الترميز في أي وقت يتم فيه إجراء تغيير غير متوافق على تنسيق البيانات الاحتياطية ويضمن
restoreAnyVersion = false
(الإعداد التلقائي) إذا لم يكن الممثّل مستعدًا للتعامل مع البيانات الاحتياطية من إصدار مستقبلي من الرمز.
Enterprise
تحسينات الملف الشخصي المُدار
تعمل تغييرات تجربة المستخدم في الملفات الشخصية المُدارة على تسهيل التعرّف على الملف الشخصي المُدار والوصول إليه والتحكّم فيه.
إيقاف عمليات النقل الجوي مؤقتًا
يتيح الإصدار الجديد من @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
مع الاحتفاظ بحد أقصى اتصال واحد لكل قاعدة بيانات.
أوقات التشغيل
يغيّر نظام التشغيل Android 9 تحسين وقت بدء التشغيل كما هو موضّح في مقالة تحسين أوقات بدء التشغيل.
الطاقة
القيود المفروضة على العمل في الخلفية
يتضمّن الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث قيودًا على التطبيقات التي تعمل في الخلفية تسمح للمستخدمين بحظر التطبيقات التي قد تستهلك طاقة البطارية. قد يقترح النظام أيضًا إيقاف التطبيقات التي تؤثر سلبًا في أداء الجهاز.
الأجهزة التي لا تعمل بالبطارية
يتعامل نظام التشغيل Android 9 مع الأجهزة التي لا تحتوي على بطارية بشكل أكثر كفاءة مقارنةً بالإصدارات السابقة. يزيل نظام التشغيل Android 9 الرمز المخصّص للأجهزة التي لا تحتوي على بطارية والتي تفترض تلقائيًا أنّه كانت هناك بطارية مشحونة بنسبة %100 وبحالة جيدة مع قراءة درجة حرارة عادية على الترموستات.