
我买了一个pixel8的手机,系统是Android16,如下操作都是基于这个手机做的。
按照开发者选项文档中的指示启用开发者选项。
如果检测到设备受 OEM 锁定,系统会显示一个对话框,请用户对手机进行 OEM 解锁。按照相应步骤进行 OEM 解锁。
当用户选中“以 16KB 页面大小启动设备”时,/data 和 /metadata 分区必须为 ext4。否则,系统会显示一个对话框,要求用户擦除设备数据。回答“是”会擦除设备数据,并且您必须再次启用开发者选项。
16 KB 切换开关现在会显示一个确认切换到 16 KB 的对话框;用户确认后,系统会应用启动 OTA。然后,您可以在 4 KB 到 16 KB 模式之间来回切换,而无需清空数据分区以测试应用行为。
按照开发者选项文档中的指示启用 16 KB 模式,注意启用过程中会导致 所有用户应用数据被清。
我是基于pixel 8+Android16操作的。
详细步骤如下:
https://source.android.com/docs/core/architecture/bootloader/locking_unlocking?hl=zh-cn
adb reboot bootloader
fastboot flashing unlock

重启后,打开开发选项 -> 选中16k page size选项 -> 点击确认 -> ease all data
选中重启一下,这次重启之后就好了
开启后的效果:

adb reboot bootloader
adb: Android Debug Bridge,一个强大的命令行工具,用于与连接的 Android 设备进行通信(通常在设备处于 Android 系统或 Recovery 模式下)。reboot: 告诉设备重新启动。bootloader: 指定重启的目标模式。Bootloader 是设备启动时运行的第一个程序,负责初始化硬件并加载操作系统(Android)内核。fastboot 命令。fastboot flashing unlock
fastboot: 另一个命令行工具,用于在设备处于 Bootloader 模式下与其通信。它主要用于执行底层操作,如刷写分区、解锁等。flashing: 表示操作与刷写(写入)设备的分区(如系统、引导、恢复等)有关。unlock: 具体操作指令,表示解锁设备的 Bootloader。为什么执行这两条命令(解锁 Bootloader)是开启 16k page size 的必要条件?
开启 16k page size 通常意味着你需要刷入一个使用 16k 作为物理存储块大小(page size)编译的固件。这涉及到对设备关键分区(如 boot、vendor_boot、super 分区中的 vendor/odm 等)进行写入操作。原因如下:
Bootloader 锁定的目的: 设备制造商默认会锁定 Bootloader。这是一个重要的安全机制,主要目的是:
锁定状态下的限制: 当 Bootloader 被锁定时:
fastboot 或其他工具无法向 boot, recovery, system, vendor, odm 等关键分区写入数据。尝试刷写会被 Bootloader 拒绝。page size 不是分区表直接定义的,但支持它的固件需要写入到特定分区)。解锁 Bootloader 的作用: 执行 fastboot flashing unlock 命令会:
fastboot flash 命令向设备的关键分区写入任何数据(包括非官方的、自定义编译的固件)。boot.img) 或 vendor/odm 分区的前提。与 16k Page Size 的关系:
vendor_boot 或 vendor/odm 分区中的模块)。boot, vendor_boot, vendor, odm)。fastboot flash boot ..., fastboot flash vendor_boot ..., fastboot flash vendor ... 等命令,将支持 16k page size 的固件组件刷入到相应的分区中。 刷入成功后,设备启动时加载的就是支持 16k page size 的内核和驱动了。总结:
adb reboot bootloader:让设备进入可以进行底层操作的 Bootloader 模式。fastboot flashing unlock:解除 Bootloader 对关键分区写入的限制,允许刷入非官方/自定义固件(这是关键一步,会清除数据)。vendor/odm 相关部分)。刷入这个特定的固件才是真正“开启” 16k page size 的操作,而这个刷入操作在 Bootloader 锁定状态下是无法完成的。