自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
启用 16 KB 向后兼容选项
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
借助 16 KB 切换开关,您可运行内核为 16 KB 的设备。当设备运行 16 KB 内核时,16 KB 向后兼容选项可用。如果应用具有 4 KB LOAD 分段对齐的 ELF 文件(扩展名为 .so
),或者压缩后的 APK 包含 4 KB ZIP 对齐的未压缩 ELF 文件,则软件包管理系统会以 16 KB 向后兼容模式运行该应用。如果软件包管理系统为某应用启用了 16 KB 向后兼容模式,该应用在首次启动时会显示一条警告,表明它正以 16 KB 向后兼容模式运行。16 KB 向后兼容模式可让部分应用正常运行,但为了实现最佳可靠性和稳定性,应用仍应以 16 KB 对齐。
如需启用 16 KB 向后兼容选项,请按照以下说明操作:
请按照启用 16 KB 切换开关中的步骤启用 16 KB 切换开关。
使用以下任一方法启用 16 KB 向后兼容模式:
Android 会在需要时在向后兼容模式下运行应用。后向兼容有两个单独的部分,可以单独启用:bionic.linker.16kb.app_compat.enabled
属性用于控制加载库的方式,pm.16kb.app_compat.disabled
属性用于控制安装 APK 的方式。
如需强制为设备上的每个应用启用 16 KB 向后兼容,请执行以下操作:
adb shell setprop bionic.linker.16kb.app_compat.enabled true
adb shell setprop pm.16kb.app_compat.disabled false
如需强制为设备上的每个应用停用 16 KB 向后兼容,请执行以下操作:
adb shell setprop bionic.linker.16kb.app_compat.enabled false
adb shell setprop pm.16kb.app_compat.disabled true
将 android:pageSizeCompat
属性设为 enabled
或 disabled
,以在特定应用的 AndroidManifest.xml
中开启或关闭向后兼容模式。设定此属性后,该应用在启动时不会显示向后兼容模式警告。
在应用信息页面上的高级下,调整以页面大小兼容模式运行应用这项设置的切换开关,为特定应用启用或停用 16 KB 向后兼容模式。仅当设备以 16 KB 页面大小运行时,这项设置才会显示。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-20。
[null,null,["最后更新时间 (UTC):2025-03-20。"],[],[],null,["# Enable 16 KB backcompat option\n\n[16 KB toggle](/docs/core/architecture/16kb-page-size/16kb-developer-option)\nlets you to run a device with a 16 KB kernel. The 16 KB backcompat\noption is available when a device is running with a 16 KB kernel. The\npackage manager runs an app in 16 KB backcompat mode if the app has ELF\nfiles (with an `.so` extension) with a LOAD segment alignment of 4 KB, or\nif the zipped APK has uncompressed ELF files that are 4 KB zip aligned. If\nthe package manager has enabled 16 KB backcompat mode for an app, the app\ndisplays a warning when it's first launched saying that it's running in\n16 KB backcompat mode.\n\n**Figure 1.** Warning in page size compat mode.\n\n16 KB backcompat mode allows some apps to work,\nbut for best reliability and stability, apps should still be 16 KB aligned.\n\nTo enable the 16 KB backcompat option, follow these instructions:\n\n1. Follow the steps in [Enable 16 KB toggle](/docs/core/architecture/16kb-page-size/16kb-developer-option)\n to enable 16 KB toggle.\n\n2. Enable 16 KB backcompat mode using any of the following methods:\n\n - Android runs apps in backcompat mode where it is needed. There are two\n separate parts to backcompat that can be enabled independently: the\n `bionic.linker.16kb.app_compat.enabled` property controls how libraries\n are loaded, and the `pm.16kb.app_compat.disabled` property controls how\n APKs are installed.\n\n - To force 16 KB backcompat on for every app on the device:\n\n adb shell setprop bionic.linker.16kb.app_compat.enabled true\n adb shell setprop pm.16kb.app_compat.disabled false\n\n - To force 16 KB backcompat off for every app on the device:\n\n adb shell setprop bionic.linker.16kb.app_compat.enabled false\n adb shell setprop pm.16kb.app_compat.disabled true\n\n - Set the `android:pageSizeCompat` property to `enabled` or `disabled` to\n turn on or off backcompat mode for a specific app in its\n `AndroidManifest.xml`. When this property is set, the app won't display\n backcompat mode warnings when it launches.\n\n - On the app info page, under **Advanced** toggle the setting **Run app with\n page size compat mode** to enable or disable the 16 KB backcompat mode\n for specific app. This setting is only visible when the device is running with\n 16 KB page size.\n\n **Figure 2.** Page size compat mode setting."]]