Android Question Your app is affected by Google Play's 16 KB page size requirements

Alex_197

Well-Known Member
Licensed User
Longtime User
Hi all.

I just received an email from Google Play Market



To ensure your app works correctly on the latest versions of Android, Google Play requires all apps targeting Android 15+ to support 16 KB memory page sizes.

From May 1, 2026, if your app updates do not support 16 KB memory page sizes, you won't be able to release these updates.

What we have to do to meet this requirement https://play.google.com/console/u/0...icy-center/issues/4989860446852338629/details.

Video

Are we ready?

Tahnks.
 
Last edited:

Shelby

Well-Known Member
Licensed User
Longtime User
Chat GPT says we have until May 1st next year to take care of this. I just got the same notice. I'm not sure of yours Alex, but my app is using SQLite. Also ChaptGPT says:

Use Java-based SQLite if Possible


If your app does not need the performance boost of native SQLite:


✅ Switch to a Java-only SQLite driver, such as:


  • SQL library built into B4A
  • Or use Android’s own android.database.sqlite which should comply with Google’s requirements automatically.

These do not rely on native binaries, so they bypass the memory page size issue entirely.
  • Search your app's APK or AAB for .so files:
    • Unzip the APK or AAB and check under /lib/ folder.
    • If you see libsqlite.so or similar: you're using native SQLite.
  • Replace or recompile those .so libraries with ones that support 16 KB pages.
  • Monitor the B4X community and update your libraries:
    • https://www.b4x.com
    • Check for announcements about updated SQLite/native libraries. Much of this is above my pay grade suggesting use of switching to Java drivers, and so on. Which if you geniuses out there can make an easy suggestion of my type of idiot?


 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
Longtime User
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
I dont think its about the IDE

Its rather related to the libraries that does not support the 16kb page sizes. They need to be updated, Either check and update your libraries that are not 16kb or change them

Looks like you're right


Recompile your app with 16 KB native library alignment


Your app uses native libraries that are not aligned to support devices with 16 KB memory page sizes. These devices may not be able to install or start your app, or your app may start and then crash.
There are new app bundles in this release that do not support 16 KB.

But there is noting we can do about it. @Erel says that SQLCipher isn't compatible with 16KB. So the only option for to rewrite a lot of code in my app to encrypt the data in the database like d it now for the iOS.
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
Chat GPT says we have until May 1st next year to take care of this. I just got the same notice. I'm not sure of yours Alex, but my app is using SQLite. Also ChaptGPT says:

Use Java-based SQLite if Possible


If your app does not need the performance boost of native SQLite:


✅ Switch to a Java-only SQLite driver, such as:


  • SQL library built into B4A
  • Or use Android’s own android.database.sqlite which should comply with Google’s requirements automatically.

These do not rely on native binaries, so they bypass the memory page size issue entirely.
  • Search your app's APK or AABfor .so files:
    • Unzip the APK or AAB and check under /lib/ folder.
    • If you see libsqlite.so or similar: you're using native SQLite.
  • Replace or recompile those .so libraries with ones that support 16 KB pages.
  • Monitor the B4X community and update your libraries:
    • https://www.b4x.com
    • Check for announcements about updated SQLite/native libraries. Much of this is above my pay grade suggesting use of switching to Java drivers, and so on. Which if you geniuses out there can make an easy suggestion of my type of idiot?
I'm using SQLCipher and it looks like we're on the same sinking Titanic:)


  • Replace or recompile those .so libraries with ones that support 16 KB pages. - but how?

Will see what @Erel comes up with.
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
Chat GPT says we have until May 1st next year to take care of this. I just got the same notice. I'm not sure of yours Alex, but my app is using SQLite. Also ChaptGPT says:

Use Java-based SQLite if Possible


If your app does not need the performance boost of native SQLite:


✅ Switch to a Java-only SQLite driver, such as:


  • SQL library built into B4A
  • Or use Android’s own android.database.sqlite which should comply with Google’s requirements automatically.

These do not rely on native binaries, so they bypass the memory page size issue entirely.
  • Search your app's APK or AABfor .so files:
    • Unzip the APK or AAB and check under /lib/ folder.
    • If you see libsqlite.so or similar: you're using native SQLite.
  • Replace or recompile those .so libraries with ones that support 16 KB pages.
  • Monitor the B4X community and update your libraries:
    • https://www.b4x.com
    • Check for announcements about updated SQLite/native libraries. Much of this is above my pay grade suggesting use of switching to Java drivers, and so on. Which if you geniuses out there can make an easy suggestion of my type of idiot?
This is my list of .so files


08/27/2025 06:58 PM 1,282,687 libc++_shared.so
08/27/2025 06:58 PM 55,144 libjniPdfium.so
08/27/2025 06:58 PM 554,880 libmodft2.so
08/27/2025 06:58 PM 5,216,024 libmodpdfium.so
08/27/2025 06:58 PM 214,840 libmodpng.so
08/27/2025 06:59 PM 3,625,392 libsqlcipher.so
 
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
I'll try using the libraries tab and see if I can do something that way. I wonder if I uncheck each library and then bring each one up again if they will be updated? Eh geniuses? What do you think?
 
Last edited:
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
I'll try using the libraries tab and see if I can do something that way.
@Erel says to get rid of SQLCipher and replace it with a SQLite native lib. Which means that I need to rewrite a lot of code to encrypt / decrypt a data in the database instead of the database itself.
 
Upvote 0

Scantech

Well-Known Member
Licensed User
Longtime User
Libraries that do not support 16 KB:
base/lib/arm64-v8a/librtmp-jni.so
base/lib/x86_64/librtmp-jni.so

That's what I got. Not using sql
 
Upvote 0

Scantech

Well-Known Member
Licensed User
Longtime User
Chatgpt said this for my issue.

For example, if you’re using an ExoPlayer RTMP extension or a live streaming wrapper in B4A, these .so files are bundled inside the .aar/.jar dependency and loaded depending on the CPU architecture (arm64-v8a, x86_64, etc.).
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
Chatgpt said this for my issue.

For example, if you’re using an ExoPlayer RTMP extension or a live streaming wrapper in B4A, these .so files are bundled inside the .aar/.jar dependency and loaded depending on the CPU architecture (arm64-v8a, x86_64, etc.).
I'm using SQLCypher, libs for reading PDF's
 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
Longtime User
How can we know what libraries do not support 16k?
 
Upvote 0
Top