Closed
Description
Version
Media3 main branch
More version details
Android 15 adds support for devices with 16 kb page size memory. Any native parts of the app need to be rebuild, otherwise apps will crash at these new devices. Currently, the Flac extension of Exoplayer does not support this. Hence, validating the APK shows UNALIGNED:

TODO:
- Follow steps here to add 16 kb page size support
Devices that reproduce the issue
Any
Devices that do not reproduce the issue
Reproducible in the demo app?
Yes
Reproduction steps
- Build and run the debug app.
- Locate the debug APK and unzip it
- Use the
alignment.sh
script provided in the official migration guide linked above and run this command:
sh alignment.sh my_apk_out | grep "arm64-v8a"
(where my_apk_out
is the unzipped apk)
Expected result
libflacJNI.so
(the Flac lib) should say ALIGNED
Actual result
It says UNALIGNED
Media
Bug Report
- You will email the zip file produced by
adb bugreport
to android-media-github@google.com after filing this issue.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
rohitjoins commentedon Oct 9, 2024
Hi @maxoertel,
Thank you for raising this issue. We will add support for 16KB page to all the extension modules and keep you updated.
Add 16 KB page support for decoder extensions on Android 15
rohitjoins commentedon Oct 10, 2024
Hi @maxoertel,
Support for 16 KB page size has been added. Thank you once again for raising this issue.
maxoertel commentedon Oct 11, 2024
Thx @rohitjoins for adding 16 KB page size support 💪🏼
Tolriq commentedon Oct 11, 2024
@rohitjoins AFAIK 16k pages requires NDK 27 and all the docs still references NDK 21 as tested solution. Might worth a doc update?
maxoertel commentedon Oct 11, 2024
@Tolriq I'm very confident that NDK 27 is not required for 16kb pare support. We updated our own libs already and still use NDK 21 and it works fine.
Google even has a dedicated section for below NDK 27: https://developer.android.com/guide/practices/page-sizes#compile-r26-lower
Tolriq commentedon Oct 11, 2024
Yes but from that part:
Says it requires canary versions of those NDK
rohitjoins commentedon Oct 11, 2024
Hi @Tolriq,
We recently streamlined the build process for most decoder extensions by switching from
ndk-build
toCMake
. Users no longer need to manually check out theNDK
or rely on it directly. Once we upgrade to AGP versions that support NDK version 27, we might need to update the flags for 16 KB page sizes.Eg: Simplified Flac extension build process
12 remaining items