u/Man_From_Antarctica

I recently updated my app to support 16 KB page sizes ahead of the Google Play enforcement deadline (May 31, 2026) ☠️, and wanted to share the process in case it helps others dealing with the same issue.

App context

  • The app is built entirely using Java and Kotlin
  • No direct native code (NDK) usage

Given that, I initially assumed 16 KB page size support wouldn’t be a problem. That assumption didn’t survive contact with reality.

The issue

After analyzing the APK, I found multiple native .so libraries that were not aligned for 16 KB page sizes. These were not part of my codebase but were bundled through third-party dependencies.

Steps I took

  1. Upgraded Android Gradle Plugin (AGP) Moved to AGP 8.5.1 to ensure compatibility with newer build requirements.
  2. Resolved dependency conflicts The AGP upgrade introduced several dependency issues, which I resolved by updating/transitively aligning libraries (with help from documentation, StackOverflow, etc.).
  3. Identified offending native libraries Used Gradle dependency insights and APK analysis tools to trace which dependencies were introducing non-compliant .so files.
  4. Upgraded third-party libraries Checked the respective library repositories/releases to find versions that explicitly support 16 KB page sizes, and updated dependencies accordingly.
  5. Handled deprecated library One dependency had been unmaintained since ~2020 and had no support for 16 KB alignment.
    • Replaced it with an actively maintained alternative
    • Migrated the relevant implementation

Result

After these changes, the APK passed the 16 KB page size checks with no warnings.🥳

Key takeaway

Even if your app doesn’t use native code directly, transitive dependencies can introduce non-compliant binaries. It’s worth auditing your APK early and ensuring all third-party libraries are up-to-date and aligned with current platform requirements.

reddit.com
u/Man_From_Antarctica — 12 days ago