تحتوي أجهزة Android على عدة أقسام أو أجزاء محدّدة من مساحة التخزين المستخدَمة لاحتواء أجزاء محدّدة من برامج الجهاز. يحتوي كل قسم على صورة قسم (ملف IMG) أو لقطة لجميع البرامج الخاصة بالقسم. يوضّح الشكل 1 تخطيط الأقسام الأساسية على الجهاز:
الشكل 1. تخطيط الأقسام الأساسية
يتم تصنيف الأقسام إلى ثلاث فئات:
أقسام النظام هي أقسام يتم تحديثها عند تحديث نظام التشغيل والميزات الأخرى.
system
وboot
وinit_boot
هي أقسام أساسية في النظام.تحتوي أقسام المورِّد على رمز خاص بالجهاز والأجهزة قد لا يتم تحديثه أبدًا بعد الإصدار الأوّلي. الأقسام
vendor
وvendor_boot
وodm
هي أقسام أساسية.الأقسام غير القابلة للتعديل هي أقسام لا يتم تعديل محتواها أو يتم تعديلها باستخدام بيانات المستخدم.
يمكن أن يتفاعل الرمز في أقسام النظام والمورّد باستخدام واجهة ثابتة تُعرف باسم واجهة المورّد (VINTF).
أقسام النظام
في ما يلي قائمة بجميع أقسام النظام واستخداماتها:
القسم
boot
يحتوي هذا القسم على صورة نواة عامة (GKI). يحتوي هذا القسم أيضًا على ramdisk عام في الأجهزة التي تم إطلاقها في الإصدار 12 من نظام التشغيل Android والإصدارات الأقدم. لمزيد من المعلومات حول ramdisk العام، يُرجى الاطّلاع على محتويات صورة ramdisk العامة.قسم
init_boot
(الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث): يحتوي هذا القسم على قرص RAM عام. في نظامَي التشغيل Android 11 و12، يكون قرص RAM العام في القسمboot
.القسم
system
يحتوي هذا القسم على صورة النظام المستخدَمة في منتجات المصنّع الأصلي للجهاز.القسم
system_ext
يحتوي هذا القسم على موارد النظام ووحدات النظام الخاصة التي توسّع صورة النظام المشتركة في قسمsystem
.القسم
system_dlkm
يحتوي هذا القسم على وحدات GKI. لمزيد من المعلومات حول هذا القسم، راجِع تنفيذ قسم لوحدة GKI.القسم
product
يمكن أن يحتوي هذا القسم على وحدات خاصة بالمنتج غير مجمّعة مع أي أقسام أخرى.القسم
pvmfw
يخزّن هذا القسم برنامج Protected Virtual Machine Firmware (pvmfw) الذي يمثّل الرمز الأول الذي يتم تنفيذه في الأجهزة الافتراضية المحمية. لمزيد من المعلومات، يُرجى الاطّلاع على برامج ثابتة للأجهزة الافتراضية المحمية.القسم
generic_bootloader
يحتوي هذا القسم على برنامج التحميل العام.
أقسام المورّدين
في ما يلي قائمة بجميع أقسام المورّدين واستخداماتها:
القسم
vendor_boot
يحتوي هذا القسم على رمز تمهيد خاص بالمورّد. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة أقسام التمهيد الخاصة بالمورّد.القسم
recovery
يخزّن هذا القسم صورة الاسترداد التي يتم تشغيلها أثناء عملية التحديث عبر شبكة غير سلكية (OTA). يمكن للأجهزة التي تتيح التحديثات السلسة تخزين صور الاسترداد كقرص RAM مضمّن في صورةboot
أوinit_boot
. لمزيد من المعلومات حول التحديثات بدون التوقّف عن استخدام الهاتف، يُرجى الاطّلاع على تحديثات A/B (بدون التوقّف عن استخدام الهاتف).القسم
vbmeta
يحتوي هذا القسم على معلومات حول ميزة "التمهيد المُتحقّق منه" لجميع الأقسام. تتحقّق هذه المعلومات من أنّ الصور المثبَّتة في كل قسم موثوق بها. لمزيد من المعلومات حول التشغيل المُتحقّق منه، يُرجى الاطّلاع على التشغيل المُتحقّق منه.القسم
vendor
يحتوي هذا القسم على أي ملف ثنائي خاص بالمورّد ولا يمكن توزيعه على مشروع Android مفتوح المصدر (AOSP) لأنه ليس عامًا بما يكفي.القسم
vendor_dlkm
يحتوي هذا القسم على وحدات نواة خاصة بالمورّد. من خلال تخزين وحدات نواة المورّد في هذا القسم بدلاً من قسمvendor
، يمكنك تعديل وحدات النواة بدون تعديل قسمvendor
. لمزيد من المعلومات، يُرجى الاطّلاع على أقسام إدارة المفاتيح الخاصة بالمورّدين ومصنّعي التصميم الأصليين.القسم
odm
يحتوي هذا القسم على تعديلات المصنّع الأصلي للتصميم (ODM) على حِزم دعم اللوحات (BSP) الخاصة بمورّد المنظومة على الرقاقة (SoC). تتيح عمليات التخصيص هذه لمصنّعي الأجهزة الأصلية استبدال أو تخصيص مكونات "منظومة على رقاقة" (SoC)، وتنفيذ وحدات النواة للمكونات الخاصة باللوحة، والبرامج الخفية، والميزات الخاصة بمصنّع الأجهزة الأصلية على طبقات تجريد الأجهزة (HAL). هذا القسم اختياري. يتم استخدام هذا القسم عادةً لاحتواء التخصيصات حتى تتمكّن الأجهزة من استخدام صورة واحدة خاصة بالمورّد لرموز تخزين تعريفية متعددة للأجهزة. لمزيد من المعلومات، يُرجى الاطّلاع على أقسام ميزة "قياس الإحالات الناجحة على الجهاز فقط".القسم
odm_dlkm
هذا القسم مخصّص لتخزين وحدات ODM kernel. من خلال تخزين وحدات نواة ODM في هذا القسم بدلاً من قسمodm
، يمكنك تعديل وحدات نواة ODM بدون تعديل قسمodm
. لمزيد من المعلومات، يُرجى الاطّلاع على أقسام إدارة المفاتيح الخاصة بالمورّدين ومصنّعي التصميم الأصليين.القسم
radio
يحتوي هذا القسم على صورة الراديو وهو مطلوب فقط للأجهزة التي تتضمّن راديو مع برنامج خاص بالراديو في قسم مخصّص.
الأقسام غير القابلة للتعديل
في ما يلي قائمة بجميع الأقسام غير القابلة للتعديل واستخداماتها:
القسم
cache
يحتوي هذا القسم على بيانات مؤقتة وهو اختياري إذا كان جهازك يستخدم التحديثات السلسة. لا يجب أن يكون هذا القسم قابلاً للكتابة من برنامج الإقلاع، ولكن يجب أن يكون قابلاً للمحو. يعتمد حجم القسم على نوع الجهاز ومقدار المساحة المتوفّرة علىuserdata
، وعادةً ما تكون مساحة تتراوح بين 50 و100 ميغابايت كافية.القسم
userdata
يحتوي هذا القسم على التطبيقات والبيانات التي ثبّتها المستخدم، بما في ذلك بيانات التخصيص.القسم
metadata
إذا كان جهازك يستخدم تشفير البيانات الوصفية، يحتوي هذا القسم على مفتاح تشفير البيانات الوصفية. يجب أن يكون حجم هذا القسم 16 ميغابايت أو أكثر، وألا يكون مشفّرًا، وألا يتم أخذ لقطة من بياناته. ويتم محو هذا القسم عند إعادة ضبط الجهاز على الإعدادات الأصلية.
قواعد واقتراحات تعديل الأقسام
ننصحك بتعديل جميع أقسام النظام كوحدة واحدة وجميع أقسام المورّد كوحدة أخرى. من خلال تعديل مجموعة الأقسام ككل، يمكنك إجراء اختبار للتحقّق من أنّ الواجهات بين الصور في كل قسم تظل ثابتة.
بغض النظر عن طريقة تعديل الأقسام، يجب تعديل الأقسام التالية بسبب التبعيات المرتبطة بإحكام وعدم توفّر واجهات برمجة تطبيقات ثابتة:
- القسمان
boot
وsystem_dlkm
- الأقسام
init_boot
وsystem
وsystem_ext
وproduct
الأقسام الديناميكية
يمكن للأجهزة التي تعمل بنظام التشغيل Android 11 والإصدارات الأحدث أن تتوافق مع الأقسام الديناميكية، وهي نظام تقسيم لمساحة المستخدم في Android يتيح لك إنشاء الأقسام أو تغيير حجمها أو إزالتها أثناء إجراء التحديثات عبر الأثير (OTA). لمزيد من المعلومات، يُرجى الاطّلاع على الأقسام الديناميكية.
القسم
misc
يتم استخدام هذا القسم من خلال قسم الاسترداد، ويبلغ حجمه 4 كيلوبايت أو أكثر.القسم
tos
يحتوي هذا القسم على صورة ثنائية لنظام التشغيل Trusty، ولا يُستخدم إلا إذا كان الجهاز يتضمّن Trusty. لمزيد من المعلومات، يُرجى الاطّلاع على أقسام نظام التشغيل Trusty (TOS).
خيارات منتجات Soong
يستخدم نظام الإنشاء Soong صيغ الصور لتقسيم تبعيات الإنشاء. يمكن للوحدات الأصلية (/build/soong/cc
) تغيير وحدات معالجة النظام إلى نوع أساسي ووحدات معالجة المورّد إلى نوع خاص بالمورّد، ولا يمكن لوحدة في أحد أنواع الصور الربط بوحدات أخرى في نوع صورة مختلف.
في نظام التشغيل Android 12 أو الإصدارات الأحدث، ينشئ أحد وحدات النظام التي تتضمّن vendor_available: true
صيغة خاصة بالمورّد بالإضافة إلى الصيغة الأساسية. لإنشاء خيار منتج، يجب تحديد السمة product_available: true
. بعض مكتبات VNDK التي لا تتضمّن product_available: true
غير متاحة لوحدات المنتج.