ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
เปิดใช้ปุ่มเปิด/ปิดขนาด 16 KB
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ปุ่มเปิด/ปิด 16 KB ช่วยให้คุณลองใช้เคอร์เนลขนาด 16 KB ได้ ปุ่มสลับนี้จะสลับระหว่างเคอร์เนลขนาด 4 KB กับเคอร์เนลขนาด 16 KB และอยู่ในเมนู "ตัวเลือกสำหรับนักพัฒนาแอป" ในแอปการตั้งค่า คุณสามารถใช้ปุ่มสลับ 16 KB เพื่อตรวจสอบความเข้ากันได้ของแอปพลิเคชันกับเคอร์เนลขนาด 16 KB แต่อาจไม่ได้แสดงถึงประสิทธิภาพของอุปกรณ์ขนาด 16 KB จริงเนื่องจากมีการใช้บล็อกหน้าย่อย (เมื่อใช้ EXT4 สําหรับพาร์ติชัน /data
และ /metadata
) ในโหมด 16 KB
ขั้นตอนการกําหนดค่าปุ่มเปิด/ปิด
ตรวจสอบว่าอุปกรณ์ได้ตั้งค่าตัวแปรให้ไม่คำนึงถึงขนาดหน้า (เพื่อให้ทำงานร่วมกับเคอร์เนลขนาดหน้า 4 KB และ 16 KB ได้)
คุณอาจต้องติดตั้งเคอร์เนล 16 KB โดยตรงเพื่อให้แน่ใจว่าอุปกรณ์ทำงานในโหมด 16 KB ได้โดยตรงก่อนที่จะเพิ่มตัวเลือกสำหรับนักพัฒนาแอปต่อ
ดูการกำหนดค่าเป้าหมายของอุปกรณ์เสมือนตัวอย่าง
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
ตัวแปรนี้ชี้ไปยังโมดูลเคอร์เนลที่รองรับ 16KB การตั้งค่าพารามิเตอร์เหล่านี้จะสร้าง OTA 2 รายการในพาร์ติชันระบบ ได้แก่ boot_ota_16k.zip
(เพื่อเปลี่ยนไปใช้เคอร์เนลขนาด 16 KB) และ boot_ota_4k.zip
(เพื่อเปลี่ยนไปใช้เคอร์เนลขนาด 4 KB) เปิดใช้ 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 KB แสดงอยู่ในแอปการตั้งค่าหรือไม่
- ตรวจสอบว่า
/system/boot_otas
หรือ /vendor/boot_otas
มีไฟล์ ZIP ของ OTA 2 ไฟล์ ได้แก่ boot_ota_16k.zip
และ boot_ota_4k.zip
ใช้ปุ่มเปิด/ปิดขนาด 16 KB
- ไปที่การตั้งค่า > ระบบ > การอัปเดตซอฟต์แวร์ แล้วใช้การอัปเดตที่มี
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป โปรดดูวิธีการที่หัวข้อกำหนดค่าตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
- หากตรวจพบว่าอุปกรณ์ล็อกอยู่โดย OEM กล่องโต้ตอบจะปรากฏขึ้นเพื่อขอให้คุณปลดล็อกโทรศัพท์โดย OEM โปรดดูวิธีการที่หัวข้อล็อกและปลดล็อก Bootloader
- คลิกบูตโดยใช้หน้าขนาด 16 KB หาก
/data
และ /metadata
ไม่ใช่ ext4 ระบบจะแสดงกล่องโต้ตอบเพื่อขอให้คุณล้างข้อมูลในอุปกรณ์ คลิกล้างข้อมูลทั้งหมดเพื่อล้างข้อมูลในอุปกรณ์ ระบบจะล้างข้อมูลในอุปกรณ์และคุณต้องเปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์อีกครั้ง
- คลิกบูตโดยใช้หน้าขนาด 16 KB กล่องโต้ตอบจะปรากฏขึ้นเพื่อขอให้คุณเปลี่ยนไปใช้ 16 KB และเมื่อยืนยันแล้ว ระบบจะใช้ OTA การบูต จากนั้นคุณสามารถสลับไปมาระหว่างโหมด 4 KB กับ 16 KB ได้โดยไม่ต้องล้างพาร์ติชันข้อมูลเพื่อทดสอบลักษณะการทํางานของแอป
ตรวจสอบโหมด 16 KB
ทําตามขั้นตอนที่หัวข้อดูขนาดหน้าเว็บเพื่อยืนยันขนาดหน้าเว็บ
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 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-27 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."]]