Android Tutorial Libraries that do not support 16kb alignment?

Many have gotten the information about their Apps not aligned with the 16KB. Here is how to check which specific libraries are causing the issue

Note: You have to check for each app individually, on your PLAY CONSOLE DASHBOARD


1. Goto your plays console Dashboard,
2. Select your App,
3. Click TEST AND RELEASE
ONLY the apps that have the issue will have the information about Recompile your App.

4. Click READ MORE at the Right

1756455053490.png


Next a popup appear. Select VIEW BUNDLE
5. On the View Bundle Page, goto Memory page size and click SHOW DETAILS
6. The libraries that are affected will be listed as show below. This is showing sqlcipher

Libraries that do not support 16 KB:
base/lib/arm64-v8a/libsqlcipher.so
base/lib/x86_64/libsqlcipher.so



1756454606553.png
 
So far: Libraries that do not support 16 KB:
1. SQlcipher
base/lib/arm64-v8a/libsqlcipher.so
base/lib/x86_64/libsqlcipher.so

2. AxLottie
base/lib/x86_64/libjlottie.so
base/lib/x86_64/libjlz4.so
base/lib/x86_64/librlottie-image-loader.so
base/lib/x86_64/librlottie.so
base/lib/x86_64/librlottie2gif.so

You can add your own in the thread for us to know which libraries to update and which libraries to boycott
 
I don't see Memory [age size line

As you can see my app requires to be recompiled to meet 16 KB requirements.
But if I click on View Bundles and scroll it down I don't see Memory Size line.

I'm uploading APK.
 

Attachments

  • screen16.png
    screen16.png
    116.1 KB · Views: 503
  • screen1.png
    screen1.png
    67.4 KB · Views: 447
I don't see Memory [age size line

As you can see my app requires to be recompiled to meet 16 KB requirements.
But if I click on View Bundles and scroll it down I don't see Memory Size line.

I'm uploading APK.
Then I guess you should use the script to check the APK
 
In my apk


B4X:
KO: file arm64-v8a non conformi (almeno un PT_LOAD < 16384):
- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodft2.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpdfium.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpng.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libsqlcipher.so

libsqlcipher.so is a SQLCipher -@Erel says to remove it. But what to do with these lines?

B4X:
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodft2.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpdfium.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpng.so

Thanks.
 
In my apk


B4X:
KO: file arm64-v8a non conformi (almeno un PT_LOAD < 16384):
- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodft2.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpdfium.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpng.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libsqlcipher.so

libsqlcipher.so is a SQLCipher -@Erel says to remove it. But what to do with these lines?

B4X:
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodft2.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpdfium.so
 - C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpng.so

Thanks.

The Pdfium.androidx.aar file ( https://github.com/chiragthummar/PdfiumAndroid16KB/blob/master/aar/PdfiumAndroid-2.0.0-release.aar ) contains these libraries compatbile 16kb
1756546897048.png


1756546910037.png


Try replacing the same ones and see if it works.
 
Thank you for your help. But replace it with what? Are there any alternative?
You wrote:

"....libsqlcipher.so is a SQLCipher -@Erel says to remove it. But what to do with these lines?

- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodft2.so
- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpdfium.so
- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpng.so..."

So, in the Pdfium.androidx.aar file there are these files ( libmodft2.so, libmodpdfium.so, libmodpng.so ) compatible 16kb.
Open the aar file (7zip) and try to overwrite the old ones with these files (basically you have to replace them)
 
You wrote:

"....libsqlcipher.so is a SQLCipher -@Erel says to remove it. But what to do with these lines?

- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodft2.so
- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpdfium.so
- C:\Users\alexv\AppData\Local\Temp\check16kb_1211071749\lib\arm64-v8a\libmodpng.so..."

So, in the Pdfium.androidx.aar file there are these files ( libmodft2.so, libmodpdfium.so, libmodpng.so ) compatible 16kb.
Open the aar file (7zip) and try to overwrite the old ones with these files (basically you have to replace them)

Thank you for your reply. Where can get the new so files?

From what I found so far - there is a new version of this aar https://www.b4x.com/android/forum/threads/pdfium-pdfview2.102756/post-1032315

Didn't try it yet.
 
base/lib/arm64-v8a/libpl_droidsonroids_gif.so
base/lib/x86_64/libpl_droidsonroids_gif.so​
 
base/lib/arm64-v8a/librtmp-jni.so
base/lib/x86_64/librtmp-jni.so

Chatgpt said it related to exoplayer. Addo and erel exoplayer may need updated
 
I've created an APK based on latest version of ExoPlayer (https://www.b4x.com/android/forum/threads/exoplayer-media3-video-player.158204/#content). I don't see any .so file inside it.
addoexo/rtmp-client-3.2.0.aar → this is the one that almost certainly pulls in librtmp-jni.so.
RTMP client libraries usually bundle the native .so because RTMP is implemented in C.

rtmp-client-3.2.0.aar is the latest.

Does rtmp-client 3.2.0 support 16 KB pages?

Chatgpt is my best friend. Lol

rtmp-client 3.2.0 was compiled in 2021, targeting 4 KB pages.

1. Recompile the native librtmp-jni.so sources using a modern Android NDK that supports 16 KB pages.


2. Package the rebuilt .so files into a new .aar (same structure as rtmp-client-3.2.0.aar).


3. Replace the old AAR in your AdditionalLibraries folder with the updated one.

Until someone (AntMedia or another maintainer) does this, the latest public AAR (3.2.0) will remain incompatible with future devices that ship only with 16 KB pages.

I guess we wait
 
Last edited:
base/lib/arm64-v8a/libpl_droidsonroids_gif.so
base/lib/x86_64/libpl_droidsonroids_gif.so​
I have a problem with the same files:
base/lib/arm64-v8a/libpl_droidsonroids_gif.so
base/lib/x86_64/libpl_droidsonroids_gif.so

From a fast search I see it could come from B4XGifView.
Up to now don't know how to solve.
 
I have a problem with the same files:
base/lib/arm64-v8a/libpl_droidsonroids_gif.so
base/lib/x86_64/libpl_droidsonroids_gif.so

From a fast search I see it could come from B4XGifView.
Up to now don't know how to solve.
Right now I found that Erel updated in last july:
 
Mine are
FAILED: 5 non-compliant file(s):
- libc++_shared.so
- libjniPdfium.so
- libmodft2.so
- libmodpdfium.so
- libmodpng.so

Any idea which libraries these are from ?
 
here are the libs i got as not comply
b4a_ProblematicLibs16KB.png

how do i know which libraries are these?
are they internal?
doesn't seems like something i added
here are all the libs my app uses
LibsUsed.png


any help will be appreciated

thanks

EDIT:
found update to net to ver 1.83
but nothing to the internal libs
 
Last edited:
Back
Top