Hello,
We are facing an issues where Arcgis sdk is not working on Android 15 for Google Pixel 8 Pro. On new devices supporting 16 KB memory paging like Google Pixel 8 Pro with Android 15 we get a crash when Portal is refferenced like when connecting to arcgis server. The issue seems related to the transition from 4 KB to 16 KB memory paging and is happening because the native libs are not aligned for 16 KB. Currently we are using com.esri.arcgisruntime:arcgis-android:100.15.6
See below crash:
FATAL EXCEPTION: main (Ask Gemini) Process: com.tabletcommand.tcmobile.beta, PID: 13518 java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~BGKFVLTn3IyCgZvXoZpY1A==/com.tabletcommand.tcmobile.beta-YBr09LDD3HxJOyL7TVWkGw==/lib/arm64/libruntimecore.so" (new hash type from the future?) at java.lang.Runtime.loadLibrary0(Runtime.java:1081) at java.lang.Runtime.loadLibrary0(Runtime.java:1003) at java.lang.System.loadLibrary(System.java:1765) at com.esri.arcgisruntime.ArcGISRuntimeEnvironment.f(SourceFile:1) at com.esri.arcgisruntime.ArcGISRuntimeEnvironment.initialize(SourceFile:2) at com.esri.arcgisruntime.internal.jni.CorePortal.<clinit>(SourceFile:1) at com.esri.arcgisruntime.portal.Portal.<init>(SourceFile:138) at com.esri.arcgisruntime.portal.Portal.<init>(SourceFile:3) at com.tabletcommand.tcframework.esri.EsriMapManager.loadPortalWithRetry(EsriMapManager.kt:133)
Hi,
Are the devices here booted with 16KB support in developer options as suggested here explicitly?
It is not enabled by default. Disabling the 16KB support on these devices should make the SDK work on these devices.
ArcGIS Runtime SDK for Android 100.15.6 and ArcGIS Maps SDK for Kotlin 200.6.0 currently do not support 16KB mode enabled devices (see system requirements). We are currently working on to add the support in ArcGIS Maps SDK for Kotlin 200.7.
Thanks
Rama
These are customer devices so they are not in developer mode nor can we expect them to enable it. ☹️
Is it possible for you to gather the device details (specific android version, build number, settings in developers options to enable or disable boot with 16kb page size) from those devices?
From our testing, for example Google Pixel 9 Pro that has Android 15 build number (AP4a.241205.013) , doesn't have the option to enable/disable 16kb page size in developer options. And our SDKs 100.15.6, 200.6.0 just works fine on the device.
Rama
I don’t see that option either it might be android 15 without 16 kb paging.
Can you run `adb shell getconf PAGE_SIZE` and see what is the output?
Yes, the above device's (Google Pixel 9 Pro) Page Size is 4KB (4096). As per doc, booting with 16KB is an optional choice and default is 4KB currently unless some manufacturers are changing it (Or later OS version has changed it). So if you have any information about the device with crash, please share it with us.
Thanks
Rama
The only info we can get from our customer is that they are running the same verison:
Android SDK 35; google; Pixel 9 Pro XL; komodo; AP4A.241205.013;
And their page size is 4KB or 16KB? Or not shared?
Sorry, I got the device name wrong before. Our device is also a Pixel 9 Pro XL. So it looks like the same device. Surprised that it is crashing for them. Here is a screenshot of simple map rendering app. What does your app does on launch, just load map or anything else? I can try to repro it on our device.
Unfortunately, we can't get the info from them to know if it is set to 4KB or not. If we get more info, I will let you know. Thanks for the help!