내 Crashlytics에서이 오류를 발견했으며 Android Nougat의 미리보기 버전 사용자에게만 충돌이있는 것으로 보입니다.Android Nougat에서만 drawable 리소스 ID에서 ColorStateList를 찾을 수 없습니다.
시작시 응용 프로그램이 중단됩니다 (주 활동).
스택 트레이스 그것은 안드로이드 누가 보이는
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.domain/com.my.domain.activities.MainActivity}: android.content.res.Resources$NotFoundException: Can't find ColorStateList from drawable resource ID #0x7f020057
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by android.content.res.Resources$NotFoundException: Can't find ColorStateList from drawable resource ID #0x7f020057
at android.content.res.ResourcesImpl.loadColorStateList(ResourcesImpl.java:840)
at android.content.res.Resources.loadColorStateList(Resources.java:998)
at android.content.res.TypedArray.getColor(TypedArray.java:447)
at android.app.Activity.onApplyThemeResource(Activity.java:4039)
at android.view.ContextThemeWrapper.initializeTheme(ContextThemeWrapper.java:198)
at android.view.ContextThemeWrapper.setTheme(ContextThemeWrapper.java:140)
at android.app.Activity.setTheme(Activity.java:4009)
at android.support.v7.app.AppCompatActivity.setTheme(AppCompatActivity.java:90)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2592)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
는 더 이상 내 응용 프로그램에서 사용하고 시스템 색의 어떤 종류를 지원하지 않습니다? 하지만 정확히 어떻게 수정해야할지 모르겠습니다. 편집
그래서 내 R 파일에 ID 0x7f020057와 자원을 발견하고이 그것입니다 :
공공 정적 최종 INT background_splash_gradient = 0x7f020057;
나는 내가 그것을 사용하고 위치를 확인하고 여기있다 :
<style name="StartingWindowTheme" parent="AppTheme">
<item name="android:windowBackground">@drawable/background_splash_gradient</item>
<item name="android:colorBackground">@drawable/background_splash_gradient</item>
</style>
그리고 이것은 background_splash_gradiend XML 파일입니다
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="135"
android:endColor="#00d49e"
android:startColor="#00bcd4"/>
</shape>
난 아직도 왜 몰라 누가 (Nougat)에 문제를 일으키고 있습니다. "StartingWindowTheme"스타일을 제거해 보았는데 이제 응용 프로그램이 작동하지만 더 이상 충돌하지 않습니다. 하지만 그보다 더 좋은 해결책이 필요합니다. 2
편집 그래서이 줄을 제거하려고 :
<item name="android:colorBackground">@drawable/background_splash_gradient</item>
을 그리고 그것은 작동합니다. 같은 android:colorBackground
것 같습니다. 이 문제는 상술 한 줄이므로
TEMPORARY FIX
만 누가에, I는 values-v24
폴더를 생성하고이 광고를 제거 하였다. 앱은 누갓 (Nougat)에서 작동하지만 더 나은 솔루션을 고맙게 생각합니다.
'android.R.color'에서 무엇인가를 사용합니까? – EpicPandaForce
흠, 실제로 확신 할 수 없습니다. 단지 "android.R.color"에 대한 글로벌 검색을 수행했지만 아무 것도 찾지 못했습니다. 이것이 문제라고 가정하면 해결책은 무엇입니까? – Guy
사실, 네, XML에서 사용하고있는 것처럼 보입니다. "@android : color/transparent"를 사용하고 있습니다. – Guy