Solar2D and Google Play's 16 KB page size rule: find the library that fails
Updated 2026-10-19
What Google Play requires
Google's page size guide says that all apps targeting Android 15 (API level 35) and higher must support 16 KB memory page sizes on 64-bit devices on Google Play, and that from February 1, 2027 updates without 16 KB support can't be released. Apps whose native libraries are only 4 KB aligned can also crash on 16 KB devices.
Pure Lua code is not the problem. Native libraries are: the Solar2D engine itself and every plugin that ships a .so file.
Check your build
- Build the
.apkor.aabas you would for the store. - Open Ship Check Lite and drop the file on the page. It runs in your browser; nothing is uploaded. For offline use or CI, download it free from Solar2D Plugins.
- Read the 16 KB result. Each 4 KB-aligned library is listed with the plugin or SDK that ships it.

Fix what it finds
- The Solar2D engine library fails: update Solar2D. Builds before 2025.3721 have no 16 KB engine libraries. Then rebuild.
- A plugin's library fails: update or remove that plugin. A plugin whose maintainer has not rebuilt it with NDK r28 or newer (or
-Wl,-z,max-page-size=16384) can't pass. - A library exists only as 32-bit: Google Play also requires a 64-bit version of every native library. Update or remove the plugin that ships it.
- An uncompressed library is not 16 KB aligned inside the APK: rebuild with a current Solar2D, or run
zipalign -P 16 -f -v 4 in.apk out.apk.
Check again after every plugin update. A build that passed once can fail when a plugin ships a new library.
What the check reads
Ship Check reads the ELF header of every .so file and the alignment of each LOAD segment. Libraries are matched to the Solar2D engine, all 358 plugins in the Solar2D plugin directory and common SDKs, so you see a plugin name instead of a file name.
FAQ
Does the 16 KB rule affect Solar2D games without native plugins?
The Solar2D engine itself is a native library. Builds from Solar2D 2025.3721 or newer have 16 KB engine libraries.
Can I check an AAB, not just an APK?
Yes. Ship Check Lite reads both .apk and .aab files.
More guides
Fix Paymenter after upgrading to Pterodactyl 2.0: "api/application/nests could not be found"
Pterodactyl 2.0 removed the nest endpoints that Paymenter's built-in extension calls. Switch to a 2.0-aware extension with one command; products and services stay.
Read the guide →How to add captions to WordPress videos without per-minute fees
Generate captions for a Media Library video with Whisper in your own browser, check them next to a live preview, and they appear in the core Video block with a clickable transcript.
Read the guide →How to add a PDF menu, brochure or flipbook to a Wix site
Add Karelia PDF from the Wix App Market, choose the PDF, pick a reader theme and colours, and decide whether visitors may download or print it. Pro adds the page-turn flipbook.
Read the guide →