I have a completed Android application compiled with Embarcadero C++Builder (FMX) that works on all the phones I have in my possession (Huawei P30, Samsung Galaxy A5, Samsung Galaxy S8).
I recently sent it to some friends and it works on almost all of their phones.
Two people in particular have a Samsung Galaxy A51 and the app always crashes immediately when trying to start it, before executing any of my code at all.
App is in release mode, application store, certificates configured, etc. I even created a blank application with a single button as a test and they encounter the exact same crash, so I know it has nothing to do with my app specifically.
Android crash logs give the following error on both phones:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 23831 (appname), pid 23831 (appname)
Further, I got them to use SysCheck and all hardware looks OK (NEON, etc.)
The backtrace starts with /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+66)
, goes into a bunch of art::
calls in /apex/com.android.art/lib/libart.so
, and throws an error at /system/lib/libandroid_runtime.so (android::loadNativeCode_native(...))
. I can post the rest of the backtrace if needed.
Any ideas what could be causing this? This seems like a critical flaw in the C++Builder development for Android if certain Android phones simply can't run any published applications.