5.6.2f1 and later player crashing on launch on Kindle Fire HD, Galaxy Tab2 7.0, and Nook HD+

As of Unity 5.6.2f1 we are receiving crash reports from Kindle Fire HD (KFTT), Nook HD+ (ovation), and Galaxy Tab2 7.0 (espressowifi). The crash did not occur on 5.6.0p1 or earlier and seems possibly related to the splash screen fix for a bug (905867) that affected different Android devices on 5.6.0p1. The problem still occurs with 5.6.2p2.

I reported the bug to Unity as case 933571.

Here is a typical stack trace:

java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.6.2p2
Device model : samsung GT-P3110
Device fingerprint: samsung/espressowifixx/espressowifi:4.0.3/IML74K/P3110XXALD4:user/release-keys
Caused by: java.lang.NoSuchMethodError: com.unity3d.player.i.setBackground
at com.unity3d.player.i.onLayout(Unknown Source)
at android.view.View.layout(View.java:11325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
at android.view.View.layout(View.java:11325)
at android.view.ViewGroup.layout(ViewGroup.java:4224)
at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
at android.view.View.layout(View.java:11325)
at android.view.ViewGroup.layout(ViewGroup.java:4224)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1634)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1492)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1405)
at android.view.View.layout(View.java:11325)
at android.view.ViewGroup.layout(ViewGroup.java:4224)
at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
at android.view.View.layout(View.java:11325)
at android.view.ViewGroup.layout(ViewGroup.java:4224)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1502)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2459)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4514)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)

Turns out this is due to the minimum Android version becoming 4.1 in Unity 5.6.0. However, the crash didn’t occur in 5.6.0 itself, so we’ll try making a build with minSdkVersion=15 and maxSdkVersion=15 using Unity 5.6.0 for those users. Fingers crossed =)