0

My game is getting a lot of crash feedback on launch. The logs I have collected are caused by initialization. Below is the error log

2022-08-25 22:49:44.348 2082-2753/? I/chatty: uid=1000(system) ActivityManager expire 21 lines
    
    --------- beginning of crash
2022-08-25 22:49:46.766 20852-20985/? E/AndroidRuntime: FATAL EXCEPTION: GA Thread
    Process: com.onegame.good, PID: 20852
    java.lang.ExceptionInInitializerError
        at com.gameanalytics.sdk.state.GAState.setAutoDetectAppVersion(GAState.java:351)
        at com.gameanalytics.sdk.GameAnalytics$9.execute(GameAnalytics.java:285)
        at com.gameanalytics.sdk.threading.GAThreading$1.run(GAThreading.java:32)
        at java.util.TimerThread.mainLoop(Timer.java:562)
        at java.util.TimerThread.run(Timer.java:512)
     Caused by: android.util.AndroidRuntimeException: Animators may only be run on Looper threads
        at android.animation.ValueAnimator.start(ValueAnimator.java:1044)
        at android.animation.ValueAnimator.start(ValueAnimator.java:1098)
        at com.gameanalytics.sdk.state.GAState.logFPS(GAState.java:174)
        at com.gameanalytics.sdk.state.GAState.<init>(GAState.java:132)
        at com.gameanalytics.sdk.state.GAState.<clinit>(GAState.java:50)
        at com.gameanalytics.sdk.state.GAState.setAutoDetectAppVersion(GAState.java:351) 
        at com.gameanalytics.sdk.GameAnalytics$9.execute(GameAnalytics.java:285) 
        at com.gameanalytics.sdk.threading.GAThreading$1.run(GAThreading.java:32) 
        at java.util.TimerThread.mainLoop(Timer.java:562) 
        at java.util.TimerThread.run(Timer.java:512) 

Unity Init

 public class ThirdInitHandler : MonoBehaviour, IGameAnalyticsATTListener
    {
        void Start()
        {
            if (Application.platform == RuntimePlatform.IPhonePlayer)
            {
                GameAnalytics.RequestTrackingAuthorization(this);
            }
            else
            {
                GameAnalytics.Initialize();
            }
        }

        public void GameAnalyticsATTListenerNotDetermined()
        {
            GameAnalytics.Initialize();
        }

        public void GameAnalyticsATTListenerRestricted()
        {
            GameAnalytics.Initialize();
        }

        public void GameAnalyticsATTListenerDenied()
        {
            GameAnalytics.Initialize();
        }

        public void GameAnalyticsATTListenerAuthorized()
        {
            GameAnalytics.Initialize();
        }
    }

I have turned off the obfuscation function of the code and added obfuscation filtering

# gameanalytics
-keep class com.gameanalytics.sdk { *; }
-keep class com.gameanalytics.sdk.** { *; }
 
-keep class com.gameanalytics.sdk.GAPlatform { *; }
-keep class com.gameanalytics.sdk.GAPlatform.** { *; }
-keep class android.net.ConnectivityManager.** { *; }
-keep class com.google.android.instantapps.InstantApps { *; }
-keepclassmembers class com.google.android.instantapps.InstantApps { *; }+

But I still don't know why he still crashes!

  • Hi Alian. Did you solve this issue? I don't really know Unity, but this error happens because Animators have to be updated on the UI thread: runOnUiThread(new Runnable()). Regards. – Elletlar Sep 02 '22 at 12:09

1 Answers1

0

We had the same problem after updating to GameAnalytics Unity SDK v7.4.1.

Reverting to 7.3.24 solved the issue.