Android SplashScreen API crashes on Android <=9

264 Views Asked by At

I'm in the process of migrating my splash screen to the new API. It works well on my device (S21 running Android 13).

I began testing it on an Android 9 emulator and it just keeps crashing without opening, I managed to get a log. It looks like this is the main cause. I've

  1. Tried changing the image to something simpler like an icon and it works on the emulator

I won't be able to source the splash logo with shorter paths in the SVG. Is there anything that can be done about this for Android 9 and lower?

Caused by: java.lang.IllegalArgumentException: R is not a valid verb. Failure occurred at position 2 of path: STRING_TOO_LARGE
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.iku.test/com.iku.intro.splash.SplashActivity}: android.content.res.Resources$NotFoundException: Drawable com.iku.test:drawable/compat_splash_screen_no_icon_background with resource ID #0x7f0800a1
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.content.res.Resources$NotFoundException: Drawable com.iku.test:drawable/compat_splash_screen_no_icon_background with resource ID #0x7f0800a1
Caused by: android.content.res.Resources$NotFoundException: Drawable com.iku.test:drawable/iku_new_splash with resource ID #0x7f080215
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/iku_new_splash.xml from drawable resource ID #0x7f080215
    at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:847)
    at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:631)
    at android.content.res.Resources.loadDrawable(Resources.java:897)
    at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:955)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:930)
    at android.graphics.drawable.LayerDrawable.updateLayerFromTypedArray(LayerDrawable.java:382)
    at android.graphics.drawable.LayerDrawable.applyTheme(LayerDrawable.java:224)
    at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:646)
    at android.content.res.Resources.getDrawableForDensity(Resources.java:888)
    at android.content.res.Resources.getDrawable(Resources.java:827)
    at android.content.Context.getDrawable(Context.java:626)
    at androidx.core.content.ContextCompat$Api21Impl.getDrawable(ContextCompat.java:1012)
    at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:522)
    at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:149)
    at androidx.appcompat.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:480)
    at androidx.appcompat.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:94)
    at androidx.appcompat.app.AppCompatDelegateImpl.attachToWindow(AppCompatDelegateImpl.java:807)
    at androidx.appcompat.app.AppCompatDelegateImpl.ensureWindow(AppCompatDelegateImpl.java:783)
    at androidx.appcompat.app.AppCompatDelegateImpl.onCreate(AppCompatDelegateImpl.java:506)
    at androidx.appcompat.app.AppCompatActivity$2.onContextAvailable(AppCompatActivity.java:131)
    at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
    at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:352)
    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:217)
    at com.iku.intro.splash.SplashActivity.onCreate(SplashActivity.kt:24)
    at android.app.Activity.performCreate(Activity.java:7136)
    at android.app.Activity.performCreate(Activity.java:7127)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.IllegalArgumentException: R is not a valid verb. Failure occurred at position 2 of path: STRING_TOO_LARGE
    at android.util.PathParser.nCreatePathDataFromString(Native Method)
    at android.util.PathParser.access$200(PathParser.java:24)
    at android.util.PathParser$PathData.<init>(PathParser.java:76)
    at android.graphics.drawable.VectorDrawable$VFullPath.updateStateFromTypedArray(VectorDrawable.java:2016)
    at android.graphics.drawable.VectorDrawable$VFullPath.inflate(VectorDrawable.java:1967)
    at android.graphics.drawable.VectorDrawable.inflateChildElements(VectorDrawable.java:819)
    at android.graphics.drawable.VectorDrawable.inflate(VectorDrawable.java:717)
    at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:142)
    at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1332)
    at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1291)
    at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:833)
    ... 38 more
0

There are 0 best solutions below