Skip to content

[Android] Support 16 KB page sizes #546

@jsyjbaba

Description

@jsyjbaba

Beginning with Android 15, AOSP supports devices that are configured to use a page size of 16 KB (16 KB devices).
If your app uses any NDK libraries, either directly or indirectly through an SDK, then you will need to rebuild your app for it to work on these 16 KB devices.

As device manufacturers continue to build devices with larger amounts of physical memory (RAM), many of these devices will adopt 16 KB (and eventually greater) page sizes to optimize the device's performance. Adding support for 16 KB page size devices enables your app to run on these devices and helps your app benefit from the associated performance improvements. Without recompiling, apps might not work on 16 KB devices when they are productionized in future Android releases.

https://developer.android.com/guide/practices/page-sizes

**The .so file built for 4KB does not work properly on a 16KB device. However, the .so built for 16KB works on both 4KB and 16KB devices. Therefore, the OpenXR Android related .so(libopenxr_loader.so) should be built for 16KB.

Update the CMakeLists.txt to enable 16KB ELF alignment.**

++ target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,max-page-size=16384")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions