Resource Not Found ошибка res/drawable/abc_switch_thumb_material.xml после добавления SwitchCompat в комплект приложений Android
Я знаю, что этот вопрос задавался несколько раз, я прочитал их все и сопоставил все зависимости, чтобы у них были одинаковые версии, но эта ошибка стала возникать только после добавления Switch Compat, как вы также можете видеть, просматривая отчет о сбое по фабрике., Эта ошибка возникает не на всех устройствах, а для некоторых по отчету о сбое, а также не имеет конкретного Android для этого сбоя. Еще одна вещь, которую я использую бета-версии Android из-за Android App Bundle, и это не происходит в не связках, то есть Apk.
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.App/com.App}: android.view.InflateException: Binary XML file line #100: Error inflating class android.support.design.widget.NavigationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3190)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by android.view.InflateException: Binary XML file line #100: Error inflating class android.support.design.widget.NavigationView
at android.view.LayoutInflater.createView(LayoutInflater.java:640)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at android.support.v7.app.l.b(Unknown Source)
at android.support.v7.app.e.setContentView(Unknown Source)
at com.App.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6575)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at android.support.v7.app.l.b(Unknown Source)
at android.support.v7.app.e.setContentView(Unknown Source)
at com.App.MainActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6575)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by android.view.InflateException: Binary XML file line #3: Error inflating class android.support.v7.widget.SwitchCompat
at android.view.LayoutInflater.createView(LayoutInflater.java:640)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.support.v7.view.menu.j.a(Unknown Source)
at android.support.v7.view.menu.j.setActionView(Unknown Source)
at android.support.v7.view.g$b.a(Unknown Source)
at android.support.v7.view.g$b.b(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.inflate(Unknown Source)
at android.support.design.widget.NavigationView.a(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at android.support.v7.app.l.b(Unknown Source)
at android.support.v7.app.e.setContentView(Unknown Source)
at com.App.MainActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6575)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.support.v7.view.menu.j.a(Unknown Source)
at android.support.v7.view.menu.j.setActionView(Unknown Source)
at android.support.v7.view.g$b.a(Unknown Source)
at android.support.v7.view.g$b.b(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.inflate(Unknown Source)
at android.support.design.widget.NavigationView.a(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at android.support.v7.app.l.b(Unknown Source)
at android.support.v7.app.e.setContentView(Unknown Source)
at com.App.MainActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6575)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by android.content.res.Resources$NotFoundException: File res/drawable/abc_switch_thumb_material.xml from drawable resource ID #0x7f080048
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3985)
at android.content.res.Resources.loadDrawable(Resources.java:3853)
at android.content.res.Resources.getDrawable(Resources.java:1949)
at android.content.Context.getDrawable(Context.java:409)
at android.support.v4.a.a.a(Unknown Source)
at android.support.v7.widget.l.a(Unknown Source)
at android.support.v7.widget.l.a(Unknown Source)
at android.support.v7.c.a.b.b(Unknown Source)
at android.support.v7.widget.bm.a(Unknown Source)
at android.support.v7.widget.SwitchCompat.<init>(Unknown Source)
at android.support.v7.widget.SwitchCompat.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.support.v7.view.menu.j.a(Unknown Source)
at android.support.v7.view.menu.j.setActionView(Unknown Source)
at android.support.v7.view.g$b.a(Unknown Source)
at android.support.v7.view.g$b.b(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.inflate(Unknown Source)
at android.support.design.widget.NavigationView.a(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at android.support.v7.app.l.b(Unknown Source)
at android.support.v7.app.e.setContentView(Unknown Source)
at com.App.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6575)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f080012
at android.content.res.Resources.getResourceName(Resources.java:3455)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3941)
at android.content.res.Resources.loadDrawable(Resources.java:3853)
at android.content.res.TypedArray.getDrawable(TypedArray.java:776)
at android.graphics.drawable.StateListDrawable.inflateChildElements(StateListDrawable.java:182)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:127)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1192)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1086)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3969)
at android.content.res.Resources.loadDrawable(Resources.java:3853)
at android.content.res.Resources.getDrawable(Resources.java:1949)
at android.content.Context.getDrawable(Context.java:409)
at android.support.v4.a.a.a(Unknown Source)
at android.support.v7.widget.l.a(Unknown Source)
at android.support.v7.widget.l.a(Unknown Source)
at android.support.v7.c.a.b.b(Unknown Source)
at android.support.v7.widget.bm.a(Unknown Source)
at android.support.v7.widget.SwitchCompat.<init>(Unknown Source)
at android.support.v7.widget.SwitchCompat.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.support.v7.view.menu.j.a(Unknown Source)
at android.support.v7.view.menu.j.setActionView(Unknown Source)
at android.support.v7.view.g$b.a(Unknown Source)
at android.support.v7.view.g$b.b(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.a(Unknown Source)
at android.support.v7.view.g.inflate(Unknown Source)
at android.support.design.widget.NavigationView.a(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at android.support.design.widget.NavigationView.<init>(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:614)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at android.support.v7.app.l.b(Unknown Source)
at android.support.v7.app.e.setContentView(Unknown Source)
at com.App.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6575)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300)
at android.app.ActivityThread.access$1000(ActivityThread.java:211)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1705)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Вот моя зависимость build.gradle:-
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testCompile 'junit:junit:4.12'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:customtabs:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.github.hotchemi:android-rate:1.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true;
}
implementation 'com.getkeepsafe.taptargetview:taptargetview:1.11.0'
implementation 'petrov.kristiyan:colorpicker-library:1.1.8'}
3 ответа
На основании ваших сообщений об ошибках, основная ошибка (ResourceNotFoundException
) появляется после вызова из библиотеки поддержки v7 в библиотеку поддержки v4, где он не может найти abc_switch_thumb_material.xml
(который находится в библиотеке v7).
Удалить зависимость от com.android.support:support-v4:27.1.1
из файла Gradle, если это возможно.
Если в вашем проекте есть munufuingEnabled и shrinkingResourses == true - добавьте следующую строку в ваше proguard-правило
-keep class com.google.android.material.R$drawable { *; }
я не уверен, какова основная причина сбоя, но сбои прекратились, когда я переключился на использование<Switch>
оба<SwitchCompat>
и<SwitchMaterial>
вызвал сбои в производстве