You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加启动闪屏页后模拟器运行报错:Resources$NotFoundException

解决闪屏页启动时的Resources$NotFoundException问题

看起来你在给应用加闪屏页的时候踩了资源找不到的坑,这个错误我见得挺多的,核心原因就是系统没法定位到你指定的background_splash这个Drawable资源,下面给你几个实用的排查和解决方向:

  • 先确认资源文件是否真的存在
    去你的项目res/drawable目录(或者对应分辨率的drawable子目录,比如drawable-hdpi、drawable-xhdpi)里找找,有没有background_splash.xml或者对应的图片文件。如果是VectorDrawable,还要注意别把它放在drawable-v24这类高版本专属目录里,不然低版本模拟器会找不到。

  • 检查资源引用的拼写和格式
    不管你是在SplashActivity的布局文件里引用,还是在主题里设置闪屏背景,一定要确保拼写完全正确——比如有没有少写字母、大小写搞错?举个例子,如果你是在主题里配置的:

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

    这里的@drawable/background_splash必须和文件名完全匹配,一点错都不能有。

  • 清理缓存并重建项目
    有时候是Android Studio的资源缓存搞的鬼,明明文件存在但系统就是读不到。试试这几步:

    1. 点击顶部菜单栏的Build -> Clean Project
    2. 接着点击Build -> Rebuild Project
    3. 重启模拟器,再重新安装应用试试
  • 检查XML Drawable的语法正确性
    如果background_splash是一个XML格式的Drawable(比如layer-list或者shape),打开它看看有没有语法错误——比如标签没闭合、属性名写错了之类的。Android Studio的编辑器会给错误标红,把这些问题修复后再运行。

  • 适配低版本模拟器的VectorDrawable
    如果你用了VectorDrawable,而模拟器的API版本低于21,记得在Module级别的build.gradle里添加兼容配置:

    android {
        defaultConfig {
            vectorDrawables.useSupportLibrary = true
        }
    }
    

    要是是在ImageView里引用,记得用app:srcCompat代替android:src;如果是在主题里设置,确保你的主题继承自支持库的主题(比如Theme.AppCompat开头的)。

内容的提问来源于stack exchange,提问作者Aidin Zardast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:28:03