اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تحتوي أجهزة Android على عدة أقسام أو أجزاء محدّدة من مساحة التخزين
المستخدَمة لاحتواء أجزاء محدّدة من برامج الجهاز. يحتوي كل قسم على صورة قسم (ملف IMG) أو لقطة لجميع البرامج الخاصة
بالقسم. يوضّح الشكل 1 تخطيط الأقسام الأساسية على الجهاز:
الشكل 1. تخطيط الأقسام الأساسية
يتم تصنيف الأقسام إلى ثلاث فئات:
أقسام النظام هي أقسام يتم تحديثها عند تحديث نظام التشغيل والميزات الأخرى. system وboot وinit_boot هي أقسام أساسية في
النظام.
تحتوي أقسام المورِّد على رمز خاص بالجهاز والأجهزة قد لا يتم تحديثه أبدًا بعد الإصدار الأوّلي. الأقسام vendor وvendor_boot وodm هي أقسام أساسية خاصة بالمورِّد.
الأقسام غير القابلة للتعديل هي أقسام لا يتم تعديل محتواها أو يتم تعديلها باستخدام بيانات المستخدم.
يمكن أن يتفاعل الرمز في أقسام النظام والمورّد باستخدام واجهة ثابتة
تُعرف باسم واجهة المورّد (VINTF).
أقسام النظام
في ما يلي قائمة بجميع أقسام النظام واستخداماتها:
القسم boot يحتوي هذا القسم على ”صورة نواة عامة” (GKI).
يحتوي هذا القسم أيضًا على ملف "مساحة التخزين المؤقت للذاكرة العشوائية" (ramdisk) العام في الأجهزة التي تم إطلاقها في
الإصدار 12 من نظام التشغيل Android والإصدارات الأقدم. لمزيد من المعلومات حول ملف ramdisk العام، يُرجى الاطّلاع على محتويات صورة ramdisk العامة.
قسم init_boot (الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث): يحتوي هذا القسم على ملف عام لـ"مساحة التخزين المؤقت للذاكرة العشوائية" (ramdisk). في نظامَي التشغيل Android 11 و12، يكون ملف ramdisk العام في القسم
boot.
القسم system يحتوي هذا القسم على صورة النظام المستخدَمة
في منتجات المصنّع الأصلي للجهاز.
القسم system_ext يحتوي هذا القسم على موارد النظام
ووحدات النظام الخاصة التي توسّع صورة النظام المشتركة في
قسم system.
القسم system_dlkm يحتوي هذا القسم على وحدات صورة النواة العامة" (GKI). لمزيد من المعلومات حول هذا القسم، راجِع تنفيذ قسم وحدة GKI.
القسم product يمكن أن يحتوي هذا القسم على وحدات خاصة بالمنتج
غير مجمّعة مع أي أقسام أخرى.
القسم pvmfw يخزّن هذا القسم البرامج الثابتة للأجهزة الافتراضية المحمية
(pvmfw) الذي يمثّل الرمز الأول الذي يتم تنفيذه في الأجهزة الافتراضية المحمية. لمزيد من المعلومات، يُرجى الاطّلاع على برامج ثابتة للأجهزة الافتراضية المحمية.
القسم generic_bootloader يحتوي هذا القسم على برنامج الإقلاع العام.
أقسام المورّدين
في ما يلي قائمة بجميع أقسام المورّدين واستخداماتها:
القسم vendor_boot يحتوي هذا القسم على رمز تشغيل خاص بالمورّد. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة أقسام التشغيل الخاصة بالمورّد.
القسم recovery يخزّن هذا القسم صورة الاسترداد التي يتم تشغيلها أثناء عملية التحديث عبر شبكة غير سلكية (OTA). يمكن للأجهزة التي تتيح التحديثات السلسة تخزين صور الاسترداد كملف ramdisk مضمّن في boot أو صورة init_boot. لمزيد من المعلومات حول التحديثات بدون التوقّف عن استخدام الهاتف،
يُرجى الاطّلاع على تحديثات النظام (سلسة) من النوع أ/ب.
القسم misc يتم استخدام هذا القسم من خلال قسم الاسترداد، ويبلغ حجمه 4 كيلوبايت أو أكثر.
القسم vbmeta يحتوي هذا القسم على معلومات حول ميزة "التمهيد المُتحقّق منه"
لجميع الأقسام. تتحقّق هذه المعلومات من أنّ الصور المثبَّتة في كل قسم موثوق بها. لمزيد من المعلومات حول
التشغيل المُتحقّق منه، يُرجى الاطّلاع على
التشغيل المُتحقّق منه.
القسم vendor يحتوي هذا القسم على أي ملف ثنائي خاص بالمورّد ولا يمكن توزيعه على مشروع Android المفتوح المصدر (AOSP) لأنه ليس عامًا بما يكفي.
القسم vendor_dlkm يحتوي هذا القسم على وحدات نواة خاصة بالمورّد. من خلال تخزين وحدات نواة المورّد في هذا القسم بدلاً من قسم vendor، يمكنك تعديل وحدات النواة بدون تعديل قسم vendor. لمزيد من المعلومات، يُرجى الاطّلاع على أقسام إدارة المفاتيح الخاصة بالمورّدين ومصنّعي التصميم الأصليين.
القسم odm يحتوي هذا القسم على تعديلات المصنّع الأصلي للتصميم (ODM) على حِزم دعم اللوحات (BSP) الخاصة بمورّد المنظومة على الرقاقة (SoC).
تتيح عمليات التخصيص هذه لمصنّعي الأجهزة الأصلية استبدال أو تخصيص مكونات "منظومة على رقاقة" (SoC)، وتنفيذ وحدات النواة للمكونات الخاصة باللوحة، والبرامج الخفية، والميزات الخاصة بمصنّع الأجهزة الأصلية على طبقات تجريد الأجهزة (HAL). هذا القسم اختياري. يتم استخدام هذا القسم عادةً لاحتواء التخصيصات حتى تتمكّن الأجهزة من استخدام صورة واحدة خاصة بالمورّد لرموز تخزين تعريفية متعددة للأجهزة. لمزيد من المعلومات،
يُرجى الاطّلاع على أقسام ميزة "قياس الإحالات الناجحة على الجهاز فقط".
القسم odm_dlkm هذا القسم مخصّص لتخزين وحدات
نواة المصنّعين الأصليين للأجهزة (ODM). من خلال تخزين وحدات نواة ODM في هذا القسم بدلاً من قسم odm، يمكنك تعديل وحدات نواة ODM بدون تعديل قسم odm. لمزيد من المعلومات، يُرجى الاطّلاع على أقسام DLKM الخاصة بالمورّد والمصنّع الأصلي للجهاز.
القسم radio يحتوي هذا القسم على صورة الراديو وهو مطلوب فقط للأجهزة التي تتضمّن راديو مع برنامج خاص بالراديو في قسم مخصّص.
الأقسام غير القابلة للتعديل
في ما يلي قائمة بجميع الأقسام غير القابلة للتعديل واستخداماتها:
القسم cache يحتوي هذا القسم على بيانات مؤقتة وهو اختياري
إذا كان جهازك يستخدم التحديثات السلسة. لا يجب أن يكون هذا القسم قابلاً للكتابة من برنامج الإقلاع، ولكن يجب أن يكون قابلاً للمحو. يعتمد حجم القسم على نوع الجهاز ومقدار المساحة المتوفّرة على userdata، وعادةً ما تكون مساحة تتراوح بين 50 و100 ميغابايت كافية.
القسم userdata يحتوي هذا القسم على التطبيقات والبيانات التي ثبّتها المستخدم، بما في ذلك بيانات التخصيص.
القسم metadata إذا كان جهازك يستخدم تشفير البيانات الوصفية، يحتوي هذا القسم على مفتاح تشفير البيانات الوصفية. يجب أن يكون حجم هذا القسم 16 ميغابايت أو أكثر، وألا يكون مشفّرًا، وألا يتم أخذ لقطة من بياناته. ويتم محو هذا القسم عند إعادة ضبط الجهاز على الإعدادات الأصلية.
قواعد واقتراحات تعديل الأقسام
ننصحك بتعديل جميع أقسام النظام كوحدة واحدة وجميع أقسام المورّد كوحدة أخرى. من خلال تعديل مجموعة الأقسام ككل، يمكنك إجراء اختبار للتحقّق من أنّ الواجهات بين الصور في كل قسم تظل ثابتة.
بغض النظر عن طريقة تعديل الأقسام، يجب تعديل الأقسام التالية بسبب التبعيات المرتبطة بإحكام وعدم توفّر واجهات برمجة تطبيقات ثابتة:
القسمان boot وsystem_dlkm
الأقسام init_boot وsystem وsystem_ext وproduct
الأقسام الديناميكية
يمكن للأجهزة التي تعمل بنظام التشغيل Android 11 والإصدارات الأحدث أن تتوافق مع الأقسام الديناميكية، وهي نظام تقسيم لمساحة المستخدم في Android يتيح لك إنشاء الأقسام أو تغيير حجمها أو إزالتها أثناء إجراء التحديثات عبر الهواء (OTA). لمزيد من المعلومات، يُرجى الاطّلاع على الأقسام الديناميكية.
خيارات منتجات Soong
يستخدم نظام الإنشاء Soong صيغ الصور لتقسيم تبعيات الإنشاء. يمكن للوحدات الأصلية (/build/soong/cc) تغيير وحدات معالجة النظام إلى نوع أساسي ووحدات معالجة المورّد إلى نوع خاص بالمورّد، ولا يمكن لوحدة في أحد أنواع الصور الربط بوحدات أخرى في نوع صورة مختلف.
في نظام التشغيل Android 12 أو الإصدارات الأحدث، ينشئ أحد وحدات النظام التي تتضمّن vendor_available: true صيغة خاصة بالمورّد بالإضافة إلى الصيغة الأساسية. لإنشاء خيار منتج، يجب تحديد السمة product_available: true. بعض مكتبات VNDK التي لا تتضمّن product_available: true غير متاحة لوحدات المنتج.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-12 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-08-12 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Partitions overview\n\nAndroid devices contain several *partitions* or specific sections of storage\nspace used to contain specific parts of the device's software. Each partition\ncontains a *partition image* (an IMG file) or snapshot of all the software for\nthe partition. Figure 1 shows the layout of core partitions on a device:\n\n**Figure 1.** Layout of core partitions.\n\nPartitions are classified in three categories:\n\n- *System partitions* are partitions that are updated when updating the OS\n and other features. The `system`, `boot`, and `init_boot` are core system\n partitions.\n\n- *Vendor partitions* contain device and hardware-specific code that might\n never be updated after initial release. The `vendor`, `vendor_boot`, and `odm`\n partitions are core vendor partitions.\n\n- *Nonupdatable partitions* are partitions whose contents are either not updated\n or updated with user data.\n\nCode in system and vendor partitions can interact using a stable interface\ncalled the *vendor interface (VINTF)*.\n| **Note:** The separation of system partitions from vendor partitions was part of an Android 11 effort called *Project Treble*. With this architecture, you can update a device's operating system and apps without updating any of hardware-specific code.\n\n### System partitions\n\nFollowing is a list of all system partitions and their use:\n\n- **`boot` partition.** This partition contains a Generic Kernel Image (GKI).\n This partition also contains the generic ramdisk in devices launched in\n Android 12 and lower. For further information on generic ramdisk, see\n [Generic ramdisk image contents](/docs/core/architecture/partitions/generic-boot#generic-boot-ramdisk-image-contents).\n\n- **`init_boot` partition (Android 13 and higher).** This partition contains a\n generic ramdisk. In Android 11 and 12, the generic ramdisk is in the\n `boot` partition.\n\n- **`system` partition.** This partition contains the system image used\n for OEM products.\n\n- **`system_ext` partition.** This partition contains system resources and\n proprietary system modules that extend the common system image in the `system`\n partition.\n\n | **Note:** *Single system image (SSI)* refers to a file, such as a zip file that contains the images of the `system` and `system_ext` partitions and reuses those images across a set of target devices. For further information on SSI, see [Android shared system image](/docs/core/architecture/partitions/shared-system-image).\n- **`system_dlkm` partition.** This partition contains GKI modules. For further\n information on this partition, see [Implement a GKI module partition](/docs/core/architecture/partitions/gki-partitions).\n\n- **`product` partition.** This partition can contain product-specific modules\n that aren't bundled with any other partitions.\n\n | **Note:** The [*Vendor Native Development Kit (VNDK)*](/docs/core/architecture/vndk) is a set of libraries installed in the `system` partition and designed exclusively for vendors to implement their HALs. The `product` and `vendor` partitions can link to VNDK libraries in the `system` partition, but can't link to other libraries in the `system` partition.\n- **`pvmfw` partition.** This partition stores the Protected Virtual Machine\n Firmware (pvmfw) which is the first code that runs in protected VMs. For more\n information, see [Protected Virtual Machine Firmware](https://android.googlesource.com/platform/packages/modules/Virtualization/+/refs/heads/android16-release/guest/pvmfw/README.md).\n\n- **`generic_bootloader` partition.** This partition contains the generic bootloader.\n\n### Vendor partitions\n\nFollowing is a list of all vendor partitions and their use:\n\n- **`vendor_boot` partition.** This partition contains vendor-specific boot\n code. For more information, see [Vendor boot partitions](/docs/core/architecture/partitions/vendor-boot-partitions).\n\n- **`recovery` partition.** This partition stores the recovery image, which is\n booted during the over-the-air (OTA) update process. Devices that support\n seamless updates can store the recovery images as a ramdisk contained in the\n `boot` or `init_boot` image. For more information on seamless updates,\n see [A/B (seamless) updates](/docs/core/ota/ab).\n\n- **`misc` partition.** This partition is used by the recovery partition and is\n 4 KB or larger.\n\n- **`vbmeta` partition.** This partition contains the Verified Boot information\n for all of the partitions. This information verifies that the images installed\n in each partition is trusted. For further information on\n Verified Boot, see\n [Verified Boot](/docs/security/features/verifiedboot).\n\n- **`vendor` partition.** This partition contains any binary that is vendor\n specific and not generic enough to distribute to AOSP.\n\n | **Note:** The [*Vendor Native Development Kit (VNDK)*](/docs/core/architecture/vndk) is a set of libraries installed in the `system` partition and designed exclusively for vendors to implement their HALs. The `product` and `vendor` partitions can link to VNDK libraries in the `system` partition, but can't link to other libraries in the `system` partition.\n- **`vendor_dlkm` partition.** This partition contains vendor\n kernel modules. By storing vendor kernel modules in this partition\n instead of the `vendor` partition, you can update kernel\n modules without updating the `vendor` partition. For more information, see\n [Vendor and ODM DKLM partitions](/docs/core/architecture/partitions/vendor-odm-dlkm-partition).\n\n- **`odm` partition.** This partition contains original design manufacturer\n (ODM)\n customizations to system-on-chip (SoC) vendor board-support packages (BSPs).\n Such customizations enable ODMs to replace or customize SoC components, and\n implement kernel modules for board-specific components, daemons, and\n ODM-specific features on hardware abstraction layers (HALs). This partition is\n optional. Typically this partition is used to contain customizations so that\n devices can\n use a single vendor image for multiple hardware SKUs. For more information,\n see [ODM partitions](/docs/core/architecture/bootloader/partitions/odm-partitions).\n\n- **`odm_dlkm` partition.** This partition is dedicated to storing ODM kernel\n modules. By storing ODM kernel modules in the this partition, instead of\n the `odm` partition, you can update ODM kernel modules without updating the\n `odm` partition. For more information, see\n [Vendor and ODM DKLM partitions](/docs/core/architecture/partitions/vendor-odm-dlkm-partition).\n\n- **`radio` partition.** This partition contains the radio image and is needed\n only for devices that include a radio with radio-specific software in a\n dedicated partition.\n\n| **Note:** Devices that support seamless updates need two partitions, referred to as *slots* (slot A and slot B) for the `boot`, `system`, `vendor`, and `radio` partitions. For further information, see [Partition selection (slots)](/docs/core/ota/ab#slots).\n\n### Nonupdatable partitions\n\nFollowing is a list of all nonupdatable partitions and their use:\n\n- **`cache` partition.** This partition contains temporary data and is optional\n if your device uses seamless updates. This partition doesn't need to be\n writable from the bootloader, but needs to be erasable. The partition\n size depends on the device type and the availability of space on `userdata`;\n typically, 50 to 100 MB is sufficient.\n\n- **`userdata` partition.** This partition contains user-installed apps and\n data, including customization data.\n\n- **`metadata` partition.** If your device uses [metadata encryption](/docs/security/features/encryption/metadata),\n this partition contains the metadata encryption key. The size of this\n partition is 16 MB or larger, it isn't encrypted, and its data isn't\n snapshotted. This partition is erased when the device is factory reset.\n\nPartition update rules and recommendations\n------------------------------------------\n\nWe recommend updating all system partitions as a whole\nand all vendor partitions as another whole. By updating the set of partitions as\na whole, you can test to verify the interfaces between images in each partition\nremain stable.\n\nRegardless of how you update your partitions, the following partitions must\nbe updated due to tightly coupled dependencies and lack of stable APIs:\n\n- The `boot` and `system_dlkm` partitions\n- the `init_boot`, `system`, `system_ext`, and `product` partitions\n\n| **Note:** If all interfaces between the `product` partition and other system partitions have stable ABIs, you can update the `product` partition independently. For furthe information, see [Maintain ABIs between partitions](/docs/core/architecture/partitions/product-partitions#maintaining-abis).\n\nDynamic partitions\n------------------\n\nDevices running Android 11 and higher can support\ndynamic partitions, which are a userspace partitioning system for Android that\nlets you create, resize, or destroy partitions during over-the-air (OTA)\nupdates. For more information, see [Dynamic partitions](/docs/core/ota/dynamic_partitions).\n\n### Soong product variants\n\nThe [Soong](/docs/setup/build) build system uses image variants to split\nbuild dependencies. Native modules (`/build/soong/cc`) can mutate system\nprocess modules to the core variant and vendor process modules to the\nvendor variant; a module in one image variant can't link to other modules in\na different image variant.\n\nIn Android 12 or higher, a system module with\n`vendor_available: true` creates a vendor variant in addition to the core\nvariant. To create a product variant, `product_available: true` must be\ndefined. Some VNDK libraries without `product_available: true` aren't\navailable to product modules."]]