I had this problem. Gemini agent wrote the issue for me.
The issue was resolved but difficult to figure out. Without ai, it would have been difficult to figure out. Sorry if you are an ai hater, but I'm using your lib and it works great now and the app was finally accepted after removing the x86 module.
Agent issue below:
libjnidispatch.so is not 16k page-aligned for x86_64
Description: When uploading an App Bundle (.aab) to the Google Play Console, the release is entirely rejected with the following error regarding Android 15 compatibility:
Error: Your app does not support 16 KB memory page sizes.
Upon extracting the bundle and inspecting the LOAD segments of the native libraries using objdump -p, we found that libvosk.so itself is correctly aligned to 16k (2**14) across all architectures.
However, the JNA dependency (libjnidispatch.so) bundled for x86_64 is only compiled with a 4k memory page alignment (2**12):
bash
Inspection of base/lib/x86_64/libjnidispatch.so
objdump -p libjnidispatch.so | grep LOAD
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 212
LOAD off 0x0000000000018df0 vaddr 0x0000000000019df0 paddr 0x0000000000019df0 align 212
Because Google Play Console strictly mandates 16k alignment for all .so files in both arm64-v8a and x86_64 folders, this single 4k-aligned JNA library causes the entire app bundle to be rejected.
Workaround Used: We were forced to entirely strip x86_64 from our abiFilters in build.gradle to bypass the Play Store rejection.
Proposed Solution: Please update the underlying Java Native Access (JNA) dependency to a newer version that compiles libjnidispatch.so with 16k/64k page alignment out of the box, ensuring Vosk complies with Google Play's new Android 15 native library requirements.
I had this problem. Gemini agent wrote the issue for me.
The issue was resolved but difficult to figure out. Without ai, it would have been difficult to figure out. Sorry if you are an ai hater, but I'm using your lib and it works great now and the app was finally accepted after removing the x86 module.
Agent issue below:
libjnidispatch.so is not 16k page-aligned for x86_64
Description: When uploading an App Bundle (.aab) to the Google Play Console, the release is entirely rejected with the following error regarding Android 15 compatibility:
Error: Your app does not support 16 KB memory page sizes.
Upon extracting the bundle and inspecting the LOAD segments of the native libraries using objdump -p, we found that libvosk.so itself is correctly aligned to 16k (2**14) across all architectures.
However, the JNA dependency (libjnidispatch.so) bundled for x86_64 is only compiled with a 4k memory page alignment (2**12):
bash
Inspection of base/lib/x86_64/libjnidispatch.so
objdump -p libjnidispatch.so | grep LOAD
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 212
LOAD off 0x0000000000018df0 vaddr 0x0000000000019df0 paddr 0x0000000000019df0 align 212
Because Google Play Console strictly mandates 16k alignment for all .so files in both arm64-v8a and x86_64 folders, this single 4k-aligned JNA library causes the entire app bundle to be rejected.
Workaround Used: We were forced to entirely strip x86_64 from our abiFilters in build.gradle to bypass the Play Store rejection.
Proposed Solution: Please update the underlying Java Native Access (JNA) dependency to a newer version that compiles libjnidispatch.so with 16k/64k page alignment out of the box, ensuring Vosk complies with Google Play's new Android 15 native library requirements.