自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
啟用 16 KB 向後相容性選項
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
16 KB 切換鈕:可讓您使用 16 KB 核心執行裝置。裝置使用 16 KB 核心執行時,可使用 16 KB 相容性選項。如果應用程式含有 LOAD 區段對齊 4 KB 的 ELF 檔案 (副檔名為 .so
),或是壓縮的 APK 含有 4 KB 壓縮對齊的未壓縮 ELF 檔案,套件管理工具就會以 16 KB 回溯相容模式執行應用程式。如果套件管理員已為應用程式啟用 16 KB 回溯相容性模式,應用程式首次啟動時會顯示警告,指出應用程式正在 16 KB 回溯相容性模式下執行。
圖 1. 頁面大小相容模式中的警告。
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 頁面大小執行時,才能看到這項設定。
圖 2. 頁面大小相容模式設定。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-27 (世界標準時間)。
[[["容易理解","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 (世界標準時間)。"],[],[],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."]]