Is this a warning? An error? There are many B4A apps with B4XGifView in Google Play.
If you think that the SO compression is causing problems then you can exclude *.so files by putting this file in the project folder (same folder as the b4a file) and adding the so extension.
Hi Erel,
Following up on your suggestion to exclude .so files from compression using a bundleconfig.json file — I tried this and wanted to report that it did not change anything, even after placing it correctly and restarting the IDE. Sharing full details in case this helps pinpoint what’s going on, or in case I’m missing something.
Setup:
- B4A version: 14.20
- Project: DashenPDV, VersionCode 2 / VersionName 1.0.198
- Library involved: B4XGifView (android-gif-drawable), already updated to the latest version
- Build type: standard “Release” / AAB build from inside the B4A IDE (not B4ABuilder.exe)
Background:
The original Play Console error was about ELF alignment on libpl_droidsonroids_gif.so (the classic “16 KB native library alignment” issue). I fixed that already — confirmed via readelf -l that all LOAD segments on arm64-v8a and x86_64 are now aligned to 0x4000 (16 KB), after updating the library.
After that fix, a
different, more generic Play Console error appeared during the release review step:
“As bibliotecas nativas descompactadas não estão de acordo com os 16 KB para arquivos zip no app. Para resolver isso, corrija a configuração do Plug-in do Android para Gradle.”
(English: “Uncompressed native libraries are not zip aligned for 16 KB within your app. To fix this, correct your Android Gradle Plugin configuration.”)
This is a separate, zip-container-level check: it’s not about the ELF alignment anymore, but about whether the .so files are stored
uncompressed (and 16 KB-aligned) inside the .aab zip itself. I verified this directly with Python’s zipfile module on the generated .aab: all 4 .so entries (arm64-v8a, armeabi-v7a, x86, x86_64) consistently show compress_type=8 (DEFLATE/compressed), never compress_type=0 (STORED), across every build I’ve generated so far.
What I tried, in order, with no change to this symptom:
- Updated the B4XGifView/android-gif-drawable library to the latest AAR — this fixed the ELF alignment issue, but the zip-compression issue appeared right after, unrelated to this update.
- Updated the B4A IDE (applied the system file update you mentioned in another thread) — recompiled, same compress_type=8 result.
- Created bundleconfig.json per your suggestion. First attempt: I placed it in the B4A installation folder (C:\Program Files\Anywhere Software\B4A), but it turned out to be just the stock default content (media extensions list) without .so added — so no change was expected there, understandably.
- Second attempt: placed bundleconfig.json in the project folder itself (same folder as the .b4a file), with this content:
json
{
"optimizations": {
"uncompressNativeLibraries": {
"enabled": true
}
},
"compression": {
"uncompressedGlob": [
"**/*.3g2", "**/*.3gp", "**/*.3gpp", "**/*.3gpp2", "**/*.aac", "**/*.amr",
"**/*.awb", "**/*.gif", "**/*.imy", "**/*.jet", "**/*.jpeg", "**/*.jpg",
"**/*.m4a", "**/*.m4v", "**/*.mid", "**/*.midi", "**/*.mkv", "**/*.mp2",
"**/*.mp3", "**/*.mp4", "**/*.mpeg", "**/*.mpg", "**/*.ogg", "**/*.png",
"**/*.rtttl", "**/*.smf", "**/*.wav", "**/*.webm", "**/*.wma", "**/*.wmv",
"**/*.xmf", "**/*.so"
]
}
}
- Fully closed and reopened the B4A IDE (in case the config is only read at startup), then recompiled.
Result after all of this: identical .so compression (compress_type=8) in the newly generated AAB. No change whatsoever, even though the changelog for v11.2 says this file “can be overridden by putting such file in the project folder.”
Questions:
- Does bundleconfig.json in the project folder actually get consulted by the normal IDE compile/build-AAB flow, or is it only used by B4ABuilder.exe (the separate command-line tool)? I noticed both files live in the same installation folder, and wondered if that’s the actual scope of this setting.
- If it does apply to the IDE build, is there a different expected file name, location, or JSON structure than what I used above?
- Is this zip-compression-level 16 KB check actually a hard blocker for submitting to the Play Store, or just a non-blocking warning? You mentioned earlier that many B4A apps using B4XGifView are already live on the Play Store, which made me wonder if this specific message might not actually prevent release submission.
Any guidance would be greatly appreciated — happy to share the full AAB/zipfile inspection output if useful.
Thanks!