I tried to look through logcat messages and think I might have found a possible culprit, on GrapheneOS, where it works without Google Play services installed, I see:
10-25 15:04:27.382 28746 28866 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
10-25 15:04:27.382 28746 28866 I DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:112 and remote module com.google.android.gms.measurement.dynamite:0
10-25 15:04:27.382 28746 28866 I DynamiteModule: Selected local version of com.google.android.gms.measurement.dynamite
10-25 15:04:27.382 28746 28866 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
10-25 15:04:27.385 28746 28867 W Metadata: Failed to find package android.content.pm.PackageManager$NameNotFoundException: com.google.android.gms
10-25 15:04:27.386 28746 28870 E FirebaseInstanceId: Google Play services missing or without correct permission.
10-25 15:04:27.387 28746 28746 I FirebaseInitProvider: FirebaseApp initialization successful
10-25 15:04:27.392 28746 28869 I FA : App measurement initialized, version: 92000
10-25 15:04:27.393 28746 28869 I FA : To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
But on Waydroid, where the app immediately aborts and exits:
10-25 15:53:38.319 1662 1713 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
10-25 15:53:38.320 1662 1713 I DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:112 and remote module com.google.android.gms.measurement.dynamite:0
10-25 15:53:38.320 1662 1713 I DynamiteModule: Selected local version of com.google.android.gms.measurement.dynamite
10-25 15:53:38.320 1662 1713 E DynamiteModule: Invalid GmsCore APK, remote loading disabled.
10-25 15:53:38.321 1662 1662 D AndroidRuntime: Shutting down VM
10-25 15:53:38.321 1662 1662 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:7252)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:6788)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6705)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread.access$1300(ActivityThread.java:237)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7665)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.util.Formatter.parse(Formatter.java:2546)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.util.Formatter.format(Formatter.java:2505)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.util.Formatter.format(Formatter.java:2459)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.lang.String.format(String.java:2911)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.concurrent.CustomThreadFactory.newThread(Unknown Source:43)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:636)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:950)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1382)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.concurrent.DelegatingScheduledExecutorService.execute(Unknown Source:9)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.android.gms.tasks.Tasks.call(Unknown Source:27)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.heartbeatinfo.DefaultHeartBeatController.registerHeartBeat(Unknown Source:76)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.FirebaseApp.initializeAllApis(Unknown Source:107)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:111)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:9)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:18)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source:19)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:10)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:7247)
10-25 15:53:38.321 1662 1662 E AndroidRuntime: ... 10 more
It seems like Firebase is not able to properly initialize on Waydroid and causes the crash due to a null object, but I'm not sure why that is, any clues as to why?
I also noticed that under GOS the app logs show a lot of the following:
10-25 15:04:26.952 28746 28746 W libc : Access denied finding property "ro.debuggable"
Could it be that the app refuses to run on Android with ro.debuggable set to 1 as is the case in Waydroid? I feel like that's too simple to be the cause, maybe there are other props that get checked but are denied by GOS that the app uses to determine if it will run or abort.