از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
جابجایی 16 KB را فعال کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
جابجایی 16 کیلوبایتی به شما امکان می دهد یک هسته 16 کیلوبایتی را امتحان کنید. این کلید بین هسته 4 کیلوبایتی و هسته 16 کیلوبایتی سوئیچ می شود و در منوی "گزینه توسعه دهنده" در برنامه تنظیمات یافت می شود. کلید 16 کیلوبایتی را می توان برای بررسی سازگاری برنامه با هسته 16 کیلوبایتی استفاده کرد، اما ممکن است عملکرد دستگاه 16 کیلوبایتی واقعی را به دلیل استفاده از بلوکهای صفحه فرعی (هنگام استفاده از EXT4 برای پارتیشنهای /data
و /metadata
) در حالت 16 کیلوبایت منعکس نکند.
مراحل پیکربندی ضامن
مطمئن شوید که دستگاه متغیرها را به گونه ای تنظیم کرده است که صفحه آگنوستیک باشند (برای کار با هسته های اندازه صفحه 4 کیلوبایت و 16 کیلوبایت). ممکن است بخواهید مستقیماً هسته 16k را نصب کنید تا مطمئن شوید که دستگاه در حالت 16 کیلوبایتی مستقیماً قبل از ادامه افزودن گزینه توسعه دهنده کار می کند. نمونه پیکربندی هدف دستگاه مجازی را ببینید.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
تنظیم متغیر محصول برای نمایش گزینه توسعه دهنده در تنظیمات PRODUCT_16K_DEVELOPER_OPTION := true
مسیر هسته را با استفاده از BOARD_KERNEL_PATH_16K
تنظیم کنید. این هسته باید با CONFIG_ARM64_16K_PAGES=y.
BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
متغیر مسیر پیکربندی ماژول ها را BOARD_KERNEL_MODULES_16K
تنظیم کنید. این متغیر به ماژول های هسته اشاره می کند که 16 کیلوبایت را پشتیبانی می کنند. تنظیم این پارامترها دو OTA در پارتیشن سیستم ایجاد می کند: boot_ota_16k.zip
(برای تغییر به هسته 16 کیلوبایتی) و boot_ota_4k.zip
(برای تغییر به هسته 4 کیلوبایتی). OTAهای افزایشی را با تنظیم BOARD_16K_OTA_USE_INCREMENTAL := true
برای OTAهای بوت با اندازه کوچکتر، فعال کنید.
BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)
BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)
تنظیم BOARD_16K_OTA_MOVE_VENDOR := true
برای انتقال OTAها به پارتیشن فروشنده. این را فقط برای انتقال OTA از سیستم به پارتیشن فروشنده تنظیم کنید.
تأیید
پس از پیکربندی موفقیت آمیز ضامن، مراحل زیر را دنبال کنید:
- بررسی کنید که آیا بوت با تغییر اندازه صفحه 16 کیلوبایت در برنامه تنظیمات قابل مشاهده است یا خیر.
- بررسی کنید که
/system/boot_otas
یا /vendor/boot_otas
حاوی دو فایل فشرده OTA است: boot_ota_16k.zip
و boot_ota_4k.zip
.
از کلید 16 کیلوبایتی استفاده کنید
- به تنظیمات > سیستم > بهروزرسانیهای نرمافزار بروید و بهروزرسانیهای موجود را اعمال کنید.
- گزینه های توسعه دهنده را فعال کنید. برای دستورالعملها، به پیکربندی گزینههای برنامهنویس روی دستگاه مراجعه کنید.
- اگر دستگاه بهعنوان قفل OEM تشخیص داده شود، یک گفتگو نمایش داده میشود که از شما میخواهد قفل گوشی را OEM باز کنید. برای دستورالعملها، قفل و باز کردن قفل بوتلودر را ببینید.
- روی بوت با اندازه صفحه 16 کیلوبایت کلیک کنید. اگر
/data
و /metadata
ext4 نباشند، یک گفتگو نمایش داده می شود که از شما می خواهد دستگاه را پاک کنید. برای پاک کردن دستگاه روی Erase all data کلیک کنید. دستگاه پاک شده است و باید گزینه های توسعه دهنده را دوباره فعال کنید. - روی بوت با اندازه صفحه 16 کیلوبایت کلیک کنید. یک گفتگو نمایش داده می شود که از شما می خواهد به 16 کیلوبایت تغییر دهید و در تأیید، OTA های بوت اعمال می شوند. سپس می توانید بدون پاک کردن پارتیشن داده، بین حالت 4 کیلوبایت و 16 کیلوبایت به عقب و جلو بروید تا رفتار برنامه را آزمایش کنید.
حالت 16 کیلوبایت را بررسی کنید
مراحل دریافت اندازه صفحه را برای تأیید اندازه صفحه دنبال کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Enable 16 KB toggle\n\n16 KB toggle lets you to try a 16 KB kernel. This toggle switches\nbetween a 4 KB kernel and 16 KB kernel and can be found inside the\n\"Developer option\" menu in the settings app. The 16 KB toggle can be used\nto check application compatibility with the 16 KB kernel, but it might not\nreflect performance of actual 16 KB device due to the use of subpage blocks\n(when using EXT4 for `/data` and `/metadata` partitions) in 16 KB mode.\n\nSteps for configuring toggle\n----------------------------\n\n1. Make sure the device has set up the variables to be page-agnostic (to work\n with both 4 KB and 16 KB page size kernels).\n You may want to install the 16k kernel directly to make sure the device works in\n 16 KB mode directly before continuing to add the developer option.\n See the virtual device example [target config](https://cs.android.com/android/platform/superproject/+/android-latest-release:device/google/cuttlefish/vsoc_arm64_pgagnostic/phone/aosp_cf.mk;l=68).\n\n PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true\n PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384\n\n2. Setup product variable to display developer option in settings\n `PRODUCT_16K_DEVELOPER_OPTION := true`\n\n3. Set kernel path using `BOARD_KERNEL_PATH_16K`.\n This kernel should be built with `CONFIG_ARM64_16K_PAGES=y.`\n\n BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.\n\n4. Set modules config path variable `BOARD_KERNEL_MODULES_16K`. This variable\n points to kernel modules which support 16KB. Setting these parameters creates\n two OTAs on the system partition : `boot_ota_16k.zip`(to switch to 16 KB\n kernel) and `boot_ota_4k.zip`(to switch to 4 KB kernel). Enable incremental\n OTAs by setting `BOARD_16K_OTA_USE_INCREMENTAL := true` for smaller size boot\n OTAs.\n\n BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)\n BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)\n\n5. Set `BOARD_16K_OTA_MOVE_VENDOR := true` to move OTAs to the vendor partition.\n Only set this to move OTAs from system to vendor partition.\n\n### Verification\n\nAfter successfully configuring the toggle, follow these steps:\n\n1. Check if **Boot with 16 KB page size** toggle is visible in settings app.\n2. Check if `/system/boot_otas` or `/vendor/boot_otas` contains two OTA zip files : `boot_ota_16k.zip` and `boot_ota_4k.zip`.\n\nUse 16 KB toggle\n----------------\n\n1. Go to **Settings \\\u003e System \\\u003e Software updates** and apply any updates which are available.\n2. Enable developer options. For instructions, see [Configure on-device developer options](https://developer.android.com/studio/debug/dev-options).\n3. If the device is detected as OEM locked, a dialog displays asking you to OEM unlock the phone. For instructions, see [Lock and unlock the bootloader](/docs/core/architecture/bootloader/locking_unlocking).\n4. Click **Boot with 16 KB page size** . If `/data` and `/metadata`aren't ext4, a dialog displays asking you to wipe the device. Click **Erase all data** to wipe the device. The device is wiped and you must enable developer options again.\n5. Click **Boot with 16 KB page size**. A dialog displays asking you to switch to 16 KB, and on confirming, boot OTAs are applied. You can then toggle back and forth between 4 KB and 16 KB mode without clearing the data partition to test app behavior.\n\nCheck 16 KB Mode\n----------------\n\nFollow steps at [getting page size](/docs/core/architecture/16kb-page-size/getting-page-size)\nto verify page size."]]