VCode Louis-James Davis

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