Update: I updated the B4A IDE itself (previously on 14.00) hoping it would fix the zip-level packaging, but the issue persists exactly the same way.
To recap: after updating B4XGifView (removed the old 1.2.20.androidx version that caused a dex duplicate-class conflict, kept only 1.2.29), readelf -l confirms the library’s own ELF LOAD segments are correctly aligned to 16 KB:
libpl_droidsonroids_gif.so (arm64-v8a and x86_64):
LOAD ... R E 0x4000
LOAD ... RW 0x4000
So the library itself is fine. But Play Console’s App Bundle Explorer still reports “Does not support 16 KB”:
I inspected the generated .aab directly with Python’s zipfile module — even after updating B4A — and the four .so entries (one per ABI) are still stored with compress_type=8 (DEFLATE/compressed), not STORED (uncompressed). AndroidManifest.xml has no android:extractNativeLibs attribute set either way.
Since updating both the library and the IDE didn’t change this, it really looks like B4A’s AAB builder doesn’t yet pack native libraries uncompressed and 16 KB zip-aligned — which is what the new Play Store requirement (and Google’s AGP 8.5.1+ guidance) expects. Is this a known limitation, and is there a setting (manifest attribute, project setting) to force uncompressed/aligned native libs in the generated AAB, or does this still need to be added to B4A’s build process?
To recap: after updating B4XGifView (removed the old 1.2.20.androidx version that caused a dex duplicate-class conflict, kept only 1.2.29), readelf -l confirms the library’s own ELF LOAD segments are correctly aligned to 16 KB:
libpl_droidsonroids_gif.so (arm64-v8a and x86_64):
LOAD ... R E 0x4000
LOAD ... RW 0x4000
So the library itself is fine. But Play Console’s App Bundle Explorer still reports “Does not support 16 KB”:
“Uncompressed native libraries are not zip aligned for 16 KB within your app. To fix this, correct your Android Gradle Plugin configuration.”
I inspected the generated .aab directly with Python’s zipfile module — even after updating B4A — and the four .so entries (one per ABI) are still stored with compress_type=8 (DEFLATE/compressed), not STORED (uncompressed). AndroidManifest.xml has no android:extractNativeLibs attribute set either way.
Since updating both the library and the IDE didn’t change this, it really looks like B4A’s AAB builder doesn’t yet pack native libraries uncompressed and 16 KB zip-aligned — which is what the new Play Store requirement (and Google’s AGP 8.5.1+ guidance) expects. Is this a known limitation, and is there a setting (manifest attribute, project setting) to force uncompressed/aligned native libs in the generated AAB, or does this still need to be added to B4A’s build process?