Rebuilding a decoder for 16 KB memory pages
Android 15 lays memory out in 16 KB pages. How I rebuilt the VCode decoder from source for it and made it a quarter of the size.
What I tried
Android 15 moved to 16 KB memory pages and native libraries have to be built for them. The VCode decoder was an older prebuilt library.
Why I chose differently
I measured every library in the built app rather than trusting warnings or build settings. The decoder needed rebuilding from source.
What I chose
With the source recovered, it became a rebuild rather than a redesign. The new decoder is a single library about a quarter of the previous size. I proved it reads a real code on a Pixel.
How it helped my other work
It gives Confrmo's Android app a VCode decoder that runs on the phone itself on current Android.
The principle
Measure the built app, not the build settings. Owning your source turns a platform change into a rebuild.
- Android 15
- 16 KB page size
- Android NDK
- Native libraries