android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedVa

本文介绍了一种常见的Android应用开发中遇到的问题:在Eclipse上正常运行的应用,在手机上却因布局文件加载失败而崩溃。文章详细分析了错误日志,并给出了解决方案——确保图片资源正确放置。

代码在Eclipse上能运行,拿到源码下编译能通过,放到手机上运行报错:

 

E/AndroidRuntime(15593): FATAL EXCEPTION: main

E/AndroidRuntime(15593): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.powerminimizingmodesetting/com.android.powerminimizingmodesetting.PmmActivity}: android.view.InflateException: Binary XML file line #40: Error inflating class <unknown>

E/AndroidRuntime(15593): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)

E/AndroidRuntime(15593): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)

E/AndroidRuntime(15593): 	at android.app.ActivityThread.access$1500(ActivityThread.java:117)

E/AndroidRuntime(15593): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)

E/AndroidRuntime(15593): 	at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime(15593): 	at android.os.Looper.loop(Looper.java:130)

E/AndroidRuntime(15593): 	at android.app.ActivityThread.main(ActivityThread.java:3691)

E/AndroidRuntime(15593): 	at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime(15593): 	at java.lang.reflect.Method.invoke(Method.java:507)

E/AndroidRuntime(15593): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)

E/AndroidRuntime(15593): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)

E/AndroidRuntime(15593): 	at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime(15593): Caused by: android.view.InflateException: Binary XML file line #40: Error inflating class <unknown>

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.createView(LayoutInflater.java:518)

E/AndroidRuntime(15593): 	at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.parseInclude(LayoutInflater.java:707)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:619)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:408)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

E/AndroidRuntime(15593): 	at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:235)

E/AndroidRuntime(15593): 	at android.app.Activity.setContentView(Activity.java:1663)

E/AndroidRuntime(15593): 	at com.android.powerminimizingmodesetting.PmmActivity.onCreate(PmmActivity.java:63)

E/AndroidRuntime(15593): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)

E/AndroidRuntime(15593): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)

E/AndroidRuntime(15593): 	... 11 more

E/AndroidRuntime(15593): Caused by: java.lang.reflect.InvocationTargetException

E/AndroidRuntime(15593): 	at java.lang.reflect.Constructor.constructNative(Native Method)

E/AndroidRuntime(15593): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:415)

E/AndroidRuntime(15593): 	at android.view.LayoutInflater.createView(LayoutInflater.java:505)

E/AndroidRuntime(15593): 	... 25 more

E/AndroidRuntime(15593): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020004 a=-1 r=0x7f020004}

E/AndroidRuntime(15593): 	at android.content.res.Resources.loadDrawable(Resources.java:1907)

E/AndroidRuntime(15593): 	at android.content.res.TypedArray.getDrawable(TypedArray.java:655)

E/AndroidRuntime(15593): 	at android.view.View.<init>(View.java:1992)

E/AndroidRuntime(15593): 	at android.view.View.<init>(View.java:1940)

E/AndroidRuntime(15593): 	... 28 more

Cause:图片资源放到hdpi

Solution: 将图片资源放到mdpi

2025-08-21 15:34:23.621 4664-4664 OnBackInvokedCallback com.example.tapobulb W OnBackInvokedCallback is not enabled for the application. Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. 2025-08-21 15:34:23.640 4664-4664 AndroidRuntime com.example.tapobulb D Shutting down VM 2025-08-21 15:34:23.642 4664-4664 AndroidRuntime com.example.tapobulb E FATAL EXCEPTION: main Process: com.example.tapobulb, PID: 4664 android.view.InflateException: Binary XML file line #69 in com.example.tapobulb:layout/fragment_edit_auto: Binary XML file line #69 in com.example.tapobulb:layout/fragment_edit_auto: Error inflating class androidx.cardview.widget.CardView Caused by: android.view.InflateException: Binary XML file line #69 in com.example.tapobulb:layout/fragment_edit_auto: Error inflating class androidx.cardview.widget.CardView Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:883) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1039) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:990) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1169) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1130) at android.view.LayoutInflater.inflate(LayoutInflater.java:711) at android.view.LayoutInflater.inflate(LayoutInflater.java:548) at com.example.tapobulb.databinding.FragmentEditAutoBinding.inflate(FragmentEditAutoBinding.java:59) at com.example.tapobulb.EditAutoFragment.onCreateView(EditAutoFragment.kt:26) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963) at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:489) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:211) at android.os.Looper.loop(Looper.java:300) at android.app.ActivityThread.main(ActivityThread.java:8321) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:581) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1028) Caused by: android.content.res.Resources$NotFoundException: Drawable com.example.tapobulb:drawable/auto_edit_selector with resource ID #0x7f070115 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/auto_edit_selector.xml from drawable resource ID #0x7f070115 at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:959) at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:741) at android.content.res.MiuiResourcesImpl.loadDrawable(MiuiResourcesImpl.java:307) at android.content.res.Resources.loadDrawable(Resources.java:1050) at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:1020) at android.content.res.TypedArray.getDrawable(TypedArray.java:994) at android.view.View.<init>(View.java:5650) at android.view.ViewGroup.<init>(ViewGroup.java:715) at android.widget.FrameLayout.<init>(FrameLayout.java:99) at android.widget.FrameLayout.<init>(FrameLayout.java:94) at androidx.cardview.widget.CardView.<init>(CardView.java:121) at androidx.cardview.widget.CardView.<init>(CardView.java:117) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:883) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1039) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:990) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1169) 2025-08-21 15:34:23.643 4664-4664 AndroidRuntime com.example.tapobulb E at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1130) at android.view.LayoutInflater.inflate(LayoutInflater.java:711) at android.view.LayoutInflater.inflate(LayoutInflater.java:548) at com.example.tapobulb.databinding.FragmentEditAutoBinding.inflate(FragmentEditAutoBinding.java:59) at com.example.tapobulb.EditAutoFragment.onCreateView(EditAutoFragment.kt:26) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963) at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:489) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:211) at android.os.Looper.loop(Looper.java:300) at android.app.ActivityThread.main(ActivityThread.java:8321) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:581) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1028) Caused by: android.view.InflateException: Class not found solid at android.graphics.drawable.DrawableInflater.inflateFromClass(DrawableInflater.java:219) at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:138) at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1420) at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1410) at android.graphics.drawable.StateListDrawable.inflateChildElements(StateListDrawable.java:199) at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:126) at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:141) at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1420) at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1381) at android.content.res.ResourcesImpl.createFromXmlForDensity(ResourcesImpl.java:1589) at android.content.res.ResourcesImpl.loadXmlDrawable(ResourcesImpl.java:993) at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:942) ... 38 more Caused by: java.lang.ClassNotFoundException: Didn't find class "solid" on path: DexPathList[[dex file "/data/data/com.example.tapobulb/code_cache/.overlay/base.apk/classes3.dex", zip file "/data/app/~~qfKlQ_Re9Cn2vwhz0ABuHA==/com.example.tapobulb-7mTS6NX91WSB2xGCrFMFtg==/base.apk"],nativeLibraryDirectories=[/data/app/~~qfKlQ_Re9Cn2vwhz0ABuHA==/com.example.tapobulb-7mTS6NX91WSB2xGCrFMFtg==/lib/arm64, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.graphics.drawable.DrawableInflater.inflateFromClass(DrawableInflater.java:200) ... 49 more 2025-08-21 15:34:23.645 4664-4664 OOMEventManagerFK com.example.tapobulb W Failed to mkdir /data/miuilog/stability/memleak/heapdump/ 2025-08-21 15:34:23.640 4664-4664 xample.tapobulb com.example.tapobulb W type=1400 audit(0.0:25298): avc: denied { search } for name="miuilog" dev="dm-57" ino=358 scontext=u:r:untrusted_app:s0:c27,c257,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.example.tapobulb 2025-08-21 15:34:23.640 4664-4664 xample.tapobulb com.example.tapobulb W type=1400 audit(0.0:25299): avc: denied { search } for name="miuilog" dev="dm-57" ino=358 scontext=u:r:untrusted_app:s0:c27,c257,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.example.tapobulb 2025-08-21 15:34:23.640 4664-4664 xample.tapobulb com.example.tapobulb W type=1400 audit(0.0:25300): avc: denied { search } for name="miuilog" dev="dm-57" ino=358 scontext=u:r:untrusted_app:s0:c27,c257,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.example.tapobulb 2025-08-21 15:34:23.640 4664-4664 xample.tapobulb com.example.tapobulb W type=1400 audit(0.0:25301): avc: denied { search } for name="miuilog" dev="dm-57" ino=358 scontext=u:r:untrusted_app:s0:c27,c257,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.example.tapobulb 2025-08-21 15:34:23.640 4664-4664 xample.tapobulb com.example.tapobulb W type=1400 audit(0.0:25302): avc: denied { search } for name="miuilog" dev="dm-57" ino=358 scontext=u:r:untrusted_app:s0:c27,c257,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.example.tapobulb 2025-08-21 15:34:23.640 4664-4664 xample.tapobulb com.example.tapobulb W type=1400 audit(0.0:25303): avc: denied { search } for name="miuilog" dev="dm-57" ino=358 scontext=u:r:untrusted_app:s0:c27,c257,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=com.example.tapobulb 2025-08-21 15:34:24.312 2423-2959 ActivityManagerWrapper pid-2423 E getRecentTasks: mainTaskId=1023 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.example.tapobulb/com.example.tapobulb.MainActivity} } 2025-08-21 15:34:24.321 2423-2959 ActivityManagerWrapper pid-2423 E getRecentTasks: mainTaskId=1023 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.example.tapobulb/com.example.tapobulb.MainActivity} } 这是报错
08-22
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值