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!