First determine whether native code is present
Inspect the release APK set for lib/<abi>/ entries. Include native libraries introduced by game engines, database SDKs, image processors and advertising dependencies. Review the AAB-generated APKs when device-specific delivery is involved.
Do not assume a recent target API or a successful debug install proves page-size support. Android's 16 KB guidance covers both build-tool requirements and runtime assumptions.
Separate ELF alignment from ZIP alignment
Native libraries have internal ELF segment alignment requirements. The APK container also has alignment requirements for directly loaded uncompressed native libraries. Passing one check does not automatically satisfy the other.
A packaging check for the relevant APK can include:
zipalign -c -P 16 -v 4 app-release.apk
This checks archive alignment; it does not replace inspection of ELF load segments or execution on a 16 KB environment. Use the Android-documented ELF inspection tools and checks appropriate to your platform. zipalign reference.
Rebuild rather than patching the final package
Update the NDK/build pipeline and native dependencies according to the official compatibility guidance. If a third-party .so is incompatible, obtain a supported vendor build or replace the dependency. Renaming the library, changing a Gradle number or recompressing the APK does not repair compiled ELF assumptions.
Keep the original and rebuilt artifacts so you can demonstrate which native files changed. Verify signing after packaging with the normal release pipeline.
Test runtime assumptions too
Native code can incorrectly assume a fixed page size in allocation, memory mapping or alignment logic. A binary that appears well packaged may still fail when those code paths execute. Exercise startup, media processing, database access and any feature using the affected library on a documented 16 KB test environment.
Capture the exact device or emulator configuration and the failing native stack when a problem occurs. A vague “works on Android 16” note is insufficient because OS version alone does not identify page size.
Record evidence for each library
Maintain a table of library name, origin, version, ELF check, packaging check and runtime test status. Mark untested dependencies explicitly. APKLint can help identify packaged native components, but its general APK report is not a full 16 KB certification. Recheck current Google Play applicability and deadlines in the official guide before a production submission.
Sources and further reading
Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.



