sceneview-android icon indicating copy to clipboard operation
sceneview-android copied to clipboard

ARSceneView not compatible with ELF 16kb

Open japarrado opened this issue 5 months ago • 3 comments

The Play Store has issued a notice requiring our app to be compatible with 16 kB memory page sizes by May 1, 2026, at the latest.

Following the official documentation https://developer.android.com/guide/practices/page-sizes#build and using the recommended tools to detect which libraries must support 16 kB pages, I’ve traced the issue to the following point.

Currently, there are four libraries in the arsceneview module that are not compatible with ELF 16 kB: • libarcore_sdk_c.so • libarcore_sdk_jni.so • libarcore_sdk_c.so • libarcore_sdk_jni.so

Is there any known alternative or an upcoming version planned that will make arcsceneview compatible with 16 kB page sizes?

japarrado avatar Aug 29 '25 06:08 japarrado

The same problem exist for the sceneview module. The following libraries does not support ELF 16 kB:

  • libfilament-jni.so
  • libfilament-utils-jni.so
  • libgltfio-jni.so

I see that Filament added the required build flags (for 16 kB support) over a year ago (in May 2024), so it's probably only a bump of the Filament version that is required.

Here's Google's info on compiling for 16 kB ELF alignment.

Notice that this problem must be resolved before Nov 1st, since after that Google will not allow us to publish updates of apps that don't support 16 kB ELF alignment:

"Google Play is introducing a new compatibility requirement: starting November 1st, 2025, all new apps and updates to existing apps submitted to Google Play and targeting devices running Android 15 (API level 35) and higher must support 16 KB page sizes."

And since all updates to existing apps in Google Play must target at least API level 35 starting from September 1st 2025, the deadline is really November 1st 2025.

jacobmattsson avatar Sep 01 '25 10:09 jacobmattsson

I spoke too soon ... :-( Sorry!

The latest version (2.3.0) does indeed support 16 ELF alignment on the Filament native libraries. Older versions don't.

But the AR core SDK native libraries probably still have to be aligned (with the build flags described above).

jacobmattsson avatar Sep 01 '25 11:09 jacobmattsson

Shouldn't one assume that Google's own libraries will support ELF 16kb in time?

qstuff avatar Oct 01 '25 10:10 qstuff