Unity game started crashing on android 8 - unity3d

Got following stacktrace from Android Vitals:
java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.6.2f1
Device model : samsung SM-G955F
Device fingerprint: samsung/dream2ltexx/dream2lte:8.0.0/*****/***********B7:user/release-keys
Caused by
at bitter.jnibridge.JNIBridge.invoke (Native Method)
at bitter.jnibridge.JNIBridge$a.invoke (Unknown Source:20)
at java.lang.reflect.Proxy.invoke (Proxy.java:913)
at $Proxy1.onBindingDied (Unknown Source)
at android.app.LoadedApk$ServiceDispatcher.doConnected (LoadedApk.java:1652)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run (LoadedApk.java:1685)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6938)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
Have no clue. Any help or explanation will be welcome.

We were seeing the same error out of a large portion of our player base. We were able to contact Unity and get some insight into the error.
From Unity Enterprise Support:
We are aware of the issue. We fixed it in 2017.3 after upgrading the
JNIbridge to support Oreo APIs. Previous reports describe that when a
Unity application that has INTERNET permission is running, and the
Google play services is updated, stopped or reboot, it will cause the
app to crash in Android 8, 8.1 devices.
The problem is that ServiceConnection.onBindingDied which was added in
API level 26 is not implemented before 2017.3; we added this for
GoogleAdsServiceConnection in such version an also updated the
JNIbridge to solve the problem.
I'm able to reproduce it in an empty project by setting Internet
Access to "Require" and when running on the device, go to settings
->Apps & notifications->google play services->storage->MANAGE SPACE->CLEAR ALL DATA, then the app crashes as described in Stack
Overflow.
Do you have plans to upgrade your project to 2017.4 LTS?
I'm asking because we think that a backport of the fix is not
feasible, not only because it would be for a version for which we no
longer create patches (5.6.x) but an appropriate fix would involve
backporting the full support for Oreo APIs which might be tricky and
may cause regressions.
We have decided to try and upgrade our Unity Version from 5.6.4f1 into the recommended 2017 versions. Sounds like it should resolve our issues.

Today for our project in Android Vitals for users on Android 8.0 and 8.1 began to display the same failure. We use Unity 2017.1.3 Maybe it does not depend on the version of Unity. I found some correlation of the occurrence of such a failure with the release of updates for Google Play Market.
UPDATE:
We were able to reproduce this error on our Android 8.1 device:
Launch the application on the device.
Force Google Play Market to stop.
Try to purchase IAP in the store.
Watch the specified error report in Android Vitals
Given the peculiarity of this error to appear unexpectedly and massively, and then also unexpectedly disappear completely without making changes to the application, we concluded that the system service stops forcibly when the background of the Google Play Market is updated for users with auto-update enabled and connecting to the WiFi network during use our application and then try to access the data or conduct an operation with IAP in the Google Play store.

We have managed to reproduce the bug on Android 8.0 with Unity 2017.2.1.
Upgrade to Unity 2017.4.7 LTS has fixed the issue.

Related

Hololens2 Azure Spatial Anchors Tutorial Crash

Trying to follow the Microsoft Azure Spatial Anchors tutorial (even after it was recently updated) but the Release build of the project crashes on launch on the device (just after the Unity splash screen). Interestingly a Debug build of the same project seems to launch ok.
I've been able to build, deploy, test both the basic Hololen2 tutorials and the ASA Samples as well as some custom projects so don't think this is a general development or deployment issue.
Have others been able to follow this tutorial and successfully deploy to a device recently and/or is there any suggestions to diagnose the issue further?
Setup and Unity packages used (as per the tutorial and linked instructions):
Hololens OS (up to date): 19041.1136
Unity 2019.4.19f1
com.microsoft.azure.spatial-anchors-sdk.core#2.7.1
com.microsoft.azure.spatial-anchors-sdk.windows#2.7.1
MRTK Foundation - 2.5.3 from the basic tutorial series (MRTK Package Tool)
AR Foundation: 3.1.3
Windows Mixed Reality: 4.2.1 (downgrade from 4.2.3?)
MRTK.HoloLens2.Unity.Tutorials.Assets.GettingStarted.2.4.0.unitypackage
MRTK.HoloLens2.Unity.Tutorials.Assets.AzureSpatialAnchors.2.4.0.unitypackage
Note: MRTK.HoloLens2.Unity.Tutorials.Assets.AzureSpatialAnchors.2.4.0.unitypackage listed in the tutorial actually links to a new 2.5.3 package (https://github.com/microsoft/MixedRealityLearning/releases/tag/azure-spatial-anchors-v2.5.3) however the version file in this package still has 2.4.0??
Exception thrown at 0x00000226E0FBCC40 in Workspace Hololens2 MRTK.exe: 0xC0000005: Access violation executing location 0x00000226E0FBCC40.
Have you tried to upgrade the ASA SDK to version 2.7.2 (https://github.com/Azure/azure-spatial-anchors-samples/releases/tag/v2.7.2)?
They have recently fixed an error exactly like the one you're reporting:
"The first bug was specific to ARM32 builds running on HoloLens 2 and was manifesting as an access violation crash in SDK during anchor creation or query."
I have the same Problem. Running it without the Debug Window worked for me!

How can you detect runtime errors on flutter applications and log them while testing the app on iOS platform?

We tried to use speech recognition package - https://pub.dev/packages/speech_recognition in our flutter application along with other packages. The app was built successfully and installed, but we could see only a white screen on the iOS device. There was no error log that could tell us that this package created a problem. Once this module was removed we were able to see the application on the phone. This was done by manually checking for each package. I wanted to know if there is any runtime error handling methodology that could be used to log runtime errors and generate a logfile.
We are still researching on this issue, so we havent executed anything. Any suggestions would be welcome.

FIREBASE_AUTH_API is not available on this device

I have followed the new Google Firebase guide for Facebook sign-in on Android but I am consistently getting the following error on a particular device.
FirebaseAuth:signInWithCredential failed
com.google.firebase.FirebaseApiNotAvailableException: API: InternalFirebaseAuth.FIREBASE_AUTH_API is not available on this device.
On other devices it seems to work fine. The device is Moto X Play running Android 6.0.1. It also has Google Play Services 9.0.83. I tried a complete uninstall and reinstall with no luck.
This was a bug affecting the 9.0.0 and 9.0.1 versions of the SDK. It has been fixed as of SDK version 9.0.2.
Update the Google repository via the Android SDK manager and then change your gradle dependency to:
compile 'com.google.firebase:firebase-auth:9.0.2'
See incident details here.
As Alfonso says in the comments, there is an issue we are seeing where some users don't have the Firebase Auth API available even though they have Google Play services 9.0.83.
That's a bug - sorry about that - and is being investigated at the moment. If you're seeing it, please raise an issue in the troubleshooting page with any further details of the device where you had the problem.

Getting a check log error on publish in SmartFace app studio

I am trying to publish the android app from SmartFace app studio and it is giving me an error to check logs. I am not sure where to find these logs. Publish to iOS works fine. Also I verified the android SDK is found in Project Details tab.
I have attached the screenshots here
This kind of publishing error can be caused by many factors. The ones that I know of are:
node.js that comes with Smartface is outdated, so you have to update it mannualy by going to its site and installing the latest version.
Sometimes Smartface says Java is found but it's not, so writing the correct directory could fix the issue.

AppWarp Unity SDK fails to connect with CONNECTION_ERROR error

I'm running into this basic issue while integrating the AppWarp Unity SDK (no version is specified, downloaded on 10 of March) with Unity 4.3.4 Android player.
The AppWarpVikingMobile sample fails with the same error.
"telnet appwarp.shephertz.com 12346" does connect to the server. Wireshark shows no packets (running with a filter "host appwarp.shephertz.com").
There is a similar issue asked here on February, but it is unresolved still.
Seems that it's SDK import/compatibility issue.
Any ideas?
When running in the player you have to use the AppWarpUnity.dll asset. Its only when building the apk to run on a physical device you need to build with AppWarpUnityMobile.dll asset (and NOT AppWarpUnity.dll) along with the native plugins provided.
It can be a bit confusing because Unity has different restrictions on different versions (Pro and Free) for different platforms with regards to plugins and sockets. AppWarp's goal is to give developers a way to use it with or without the Unity Pro on all platforms.
The interface exposed by the assets is the same so your application code need not change.