i have found error in crashlytics, , seems it's crashing users preview version of android nougat.
app crashes on startup (main activity).
stacktrace
fatal exception: java.lang.runtimeexception: unable start activity componentinfo{com.my.domain/com.my.domain.activities.mainactivity}: android.content.res.resources$notfoundexception: can't find colorstatelist drawable resource id #0x7f020057 @ android.app.activitythread.performlaunchactivity(activitythread.java:2646) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(method.java) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755) caused android.content.res.resources$notfoundexception: can't find colorstatelist drawable resource id #0x7f020057 @ android.content.res.resourcesimpl.loadcolorstatelist(resourcesimpl.java:840) @ android.content.res.resources.loadcolorstatelist(resources.java:998) @ android.content.res.typedarray.getcolor(typedarray.java:447) @ android.app.activity.onapplythemeresource(activity.java:4039) @ android.view.contextthemewrapper.initializetheme(contextthemewrapper.java:198) @ android.view.contextthemewrapper.settheme(contextthemewrapper.java:140) @ android.app.activity.settheme(activity.java:4009) @ android.support.v7.app.appcompatactivity.settheme(appcompatactivity.java:90) @ android.app.activitythread.performlaunchactivity(activitythread.java:2592) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(method.java) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755)
it looks android nougat no longer supports kind of system colors i'm using in app? don't know how fix it.
edit
so found resource id 0x7f020057 in r file , it:
public static final int background_splash_gradient=0x7f020057;
i checked using , here is:
<style name="startingwindowtheme" parent="apptheme"> <item name="android:windowbackground">@drawable/background_splash_gradient</item> <item name="android:colorbackground">@drawable/background_splash_gradient</item> </style>
and background_splash_gradiend xml file:
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="135" android:endcolor="#00d49e" android:startcolor="#00bcd4"/> </shape>
i still don't know why causing issues on nougat. tried removing "startingwindowtheme" style , app works, no longer crashes. need better fix that.
edit 2
so tried remove line:
<item name="android:colorbackground">@drawable/background_splash_gradient</item>
and works. seems android:colorbackground
issue.
temporary fix
since problem in line mentioned above, on nougat, have created values-v24
folder , removed line there. app works on nougat now, appreciate better solution.
i found problem , how fix it. here's solution, i'll keep simple.
this line causing problem:
<item name="android:colorbackground">@drawable/background_splash_gradient</item>
turns out can't set drawable colorbackground in xml, works after removing line.
the reason crashed on nougat because possible in earlier versions.
Comments
Post a Comment