Some libraries of ARMv7 (armeabi-v7a): libc++_shared.so, libswappywrapper.so not supporting 16 KB page size

I’m currently testing my Unity project for Android 15 compliance (Google Play requirement for 16 KB memory page sizes).

After upgrading to Unity 6.2 (which claims to support 16 KB page size by default), I verified my generated .so libraries. For arm64-v8a everything looks fine — all LOAD segments are aligned at 0x4000.

However, when checking the armeabi-v7a libraries, I found that two Unity-bundled .so files are still aligned at 4 KB instead of 16 KB.

Observed Behavior

  • armeabi-v7a/libc++_shared.so → aligned to 0x1000 (4 KB)
  • armeabi-v7a/libswappywrapper.so → aligned to 0x1000 (4 KB)
  • arm64-v8a equivalents → aligned correctly at 0x4000 (16 KB).

Question:
:backhand_index_pointing_right: Will Unity release updated armeabi-v7a libraries aligned for 16 KB?
:backhand_index_pointing_right: Or is the recommendation to officially drop ARMv7 support moving forward?

Pretty sure 32 bit libraries like armeabi-v7a don’t need to be 16 KB aligned. You can continue to include armeabi-v7a libraries, but you don’t need to align them.

I’m getting the same error messages in the Play console. I tried to publish a new version today. Unity version 6000.0.58f2.


Update:

The aab with non-16KB-aligned native libraries is accepted by the Play store:

image

The problem wasn’t with the native libraries, but with the bundletool version. I upgraded the Unity package com.google.android.appbundle from 1.9.0 to 1.10.0. That includes a bundletool update from 1.14.0 to 1.18.1 (release notes). Bundletool version 1.17.0 sets the default page size to 16KB (release notes). I guess that solved it for me.

The error messages shown in the Play console and the instructions given to act on it didn’t lead me to the right direction.