Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Включить переключатель 16 КБ
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Переключатель 16 КБ позволяет вам попробовать ядро 16 КБ. Этот переключатель переключает между ядром 4 КБ и ядром 16 КБ и находится в меню «Опции разработчика» в приложении настроек. Переключатель 16 КБ можно использовать для проверки совместимости приложения с ядром 16 КБ, но он может не отражать производительность фактического устройства 16 КБ из-за использования блоков подстраниц (при использовании EXT4 для разделов /data
и /metadata
) в режиме 16 КБ.
Шаги по настройке переключателя
Убедитесь, что устройство настроило переменные как независимые от страницы (для работы с ядрами размером страницы 4 КБ и 16 КБ). Возможно, вы захотите установить ядро 16k напрямую, чтобы убедиться, что устройство работает в режиме 16 КБ, прежде чем продолжить добавлять опцию разработчика. См. пример виртуального устройства target config .
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-zip-файла: boot_ota_16k.zip
и boot_ota_4k.zip
.
Использовать переключатель 16 КБ
- Перейдите в Настройки > Система > Обновления ПО и примените все доступные обновления.
- Включить параметры разработчика. Инструкции см. в разделе Настройка параметров разработчика на устройстве .
- Если устройство обнаружено как заблокированное OEM, появится диалоговое окно с просьбой разблокировать OEM телефон. Инструкции см. в разделе Блокировка и разблокировка загрузчика .
- Нажмите Boot with 16 KB page size . Если
/data
и /metadata
не ext4, появится диалоговое окно с просьбой стереть устройство. Нажмите Erase all data , чтобы стереть устройство. Устройство будет очищено, и вам нужно снова включить параметры разработчика. - Нажмите Boot with 16 KB page size . Откроется диалоговое окно с просьбой переключиться на 16 КБ, и после подтверждения будут применены загрузочные OTA. Затем вы можете переключаться между режимами 4 КБ и 16 КБ, не очищая раздел данных, чтобы протестировать поведение приложения.
Проверить режим 16 КБ
Чтобы проверить размер страницы, следуйте инструкциям по получению размера страницы.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","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 UTC."],[],[],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."]]