android 4.2.2中找不到资源异常

问题描述 投票:4回答:1

我在style.xml文件上为启动画面创建了一个主题。

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
   <item name="android:windowBackground">@drawable/splash_background_96dp</item>
</style>

splash_background_96dp是一个xml drawable。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorWhite"/>

    <item android:gravity="center">
        <bitmap
            android:gravity="fill_horizontal|fill_vertical"
            android:src="@drawable/logo1"/>
    </item>
</layer-list>

logo1是一个png文件。

我在我的应用程序中使用此主题进行启动画面活动。它适用于android 7.1.0但在android 4.2.2上会发生以下异常:

03-04 15:31:02.849 14225-14225/com.sarsabad.sarsabadmanager E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sarsabad.sarsabadmanager/com.sarsabad.sarsabadmanager.ui.SplashActivity}: android.content.res.Resources$NotFoundException: File res/drawable/splash_background_96dp.xml from drawable resource ID #0x7f0700e4
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
                                                                                  at android.app.ActivityThread.access$700(ActivityThread.java:150)
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                  at android.os.Looper.loop(Looper.java:137)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5283)
                                                                                  at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                  at java.lang.reflect.Method.invoke(Method.java:511)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
                                                                                  at dalvik.system.NativeStart.main(Native Method)
                                                                               Caused by: android.content.res.Resources$NotFoundException: File res/drawable/splash_background_96dp.xml from drawable resource ID #0x7f0700e4
                                                                                  at android.content.res.Resources.loadDrawable(Resources.java:2842)
                                                                                  at android.content.res.Resources.getDrawable(Resources.java:1521)
                                                                                  at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:360)
                                                                                  at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:198)
                                                                                  at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85)
                                                                                  at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:128)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54)
                                                                                  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:202)
                                                                                  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:183)
                                                                                  at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
                                                                                  at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70)
                                                                                  at com.sarsabad.sarsabadmanager.ui.SplashActivity.onCreate(SplashActivity.java:39)
                                                                                  at android.app.Activity.performCreate(Activity.java:5283)
                                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299) 
                                                                                  at android.app.ActivityThread.access$700(ActivityThread.java:150) 
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                  at android.os.Looper.loop(Looper.java:137) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5283) 
                                                                                  at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                  at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
                                                                                  at dalvik.system.NativeStart.main(Native Method) 
                                                                               Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #7: <bitmap> requires a valid src attribute
                                                                                  at android.graphics.drawable.BitmapDrawable.inflate(BitmapDrawable.java:454)
                                                                                  at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:921)
                                                                                  at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:165)
                                                                                  at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:921)
                                                                                  at android.graphics.drawable.Drawable.createFromXml(Drawable.java:858)
                                                                                  at android.content.res.Resources.loadDrawable(Resources.java:2839)
                                                                                  at android.content.res.Resources.getDrawable(Resources.java:1521) 
                                                                                  at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:360) 
                                                                                  at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:198) 
                                                                                  at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85) 
                                                                                  at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:128) 
                                                                                  at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149) 
                                                                                  at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29) 
                                                                                  at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54) 
                                                                                  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:202) 
                                                                                  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:183) 
                                                                                  at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) 
                                                                                  at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:70) 
                                                                                  at com.sarsabad.sarsabadmanager.ui.SplashActivity.onCreate(SplashActivity.java:39) 
                                                                                  at android.app.Activity.performCreate(Activity.java:5283) 
                                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299) 
                                                                                  at android.app.ActivityThread.access$700(ActivityThread.java:150) 
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                  at android.os.Looper.loop(Looper.java:137) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5283) 
                                                                                  at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                  at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
                                                                                  at dalvik.system.NativeStart.main(Native Method) 
android android-drawable android-4.2-jelly-bean
1个回答
1
投票

为了使logo1文件可用,您需要将图像放入drawable文件夹,以便为所有Android版本访问。正如我猜对了,图像在其他文件夹中有更高的限定符(即你的情况下是drawable-v21)。

© www.soinside.com 2019 - 2024. All rights reserved.