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

使用Android App Bundle导致安卓应用出现Resource Not Found崩溃

Android App Bundle在Android 4上引发Resource Not Found错误的排查与解决

你在改用Android App Bundle发布两款应用后,遇到了只在Android 4系统上出现的Resource Not Found错误,新版本安卓完全正常,这个问题其实挺常见的,咱们来一步步拆解:

首先看你提供的Fabric堆栈跟踪信息:

Unable to start activity ComponentInfo{/com.Lastyear.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_item_background_holo_dark.xml from drawable resource ID #0x7f08002c 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342) 
at android.os.Handler.dispatchMessage(Handler.java:110) 
at android.os.Looper.loop(Looper.java:193) 
at android.app.ActivityThread.main(ActivityThread.java:5363) 
at java.lang.reflect.Method.invokeNative(Method.java) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644) 
at dalvik.system.NativeStart.main(NativeStart.java)

还有你的应用build.gradle依赖配置:

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    testImplementation 'junit:junit:4.12' 
    implementation 'com.android.support.constraint:constraint-layout:1.1.2' 
    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.squareup.picasso:picasso:2.5.2' 
    implementation 'com.android.support:palette-v7:27.1.1' 
    implementation 'com.afollestad.material-dialogs:core:0.9.6.0' 
    implementation 'com.jakewharton:butterknife:8.8.1' 
    implementation 'com.github.bumptech.glide:glide:3.7.0' 
    implementation 'com.android.support:design:27.1.1' 
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 
    implementation 'com.github.hotchemi:android-rate:1.0.1' 
    implementation 'com.hannesdorfmann.smoothprogressbar:library:1.0.0' 
    implementation 'com.android.support:palette-v7:27.1.1' 
    implementation 'com.google.android.gms:play-services-ads:15.0.1' 
    implementation 'com.muddzdev:styleabletoast:1.0.9' 
    implementation 'com.github.GrenderG:Toasty:1.2.5' 
    implementation 'com.hannesdorfmann.smoothprogressbar:library:1.0.0' 
    implementation 'com.wang.avi:library:2.1.3' 
    implementation 'com.github.medyo:fancybuttons:1.8.4' 
    implementation 'com.irozon.sneaker:sneaker:1.0.1' 
    implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1' 
    implementation 'de.hdodenhof:circleimageview:2.2.0' 
    implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' 
    implementation 'com.getkeepsafe.taptargetview:taptargetview:1.11.0' 
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') { transitive = true; } 
    implementation 'petrov.kristiyan:colorpicker-library:1.1.8'
}

问题根源分析

这个问题不是你的代码或者第三方库的问题,而是Android App Bundle针对Android 4系统的兼容性缺陷:
App Bundle的核心特性之一是资源按需拆分,会把资源按语言、密度、ABI等维度拆分成不同的模块,让用户只下载需要的资源。但Android 4的资源解析器无法正确处理这种拆分后的资源模块,尤其是AppCompat库提供的兼容资源(比如你碰到的abc_item_background_holo_dark.xml),就会触发Resources$NotFoundException。

很多开发者改用App Bundle后都遇到了类似的AppCompat资源找不到的问题,和你提到的同类问题本质原因完全一致。

可行的解决方案

给你几个实用的解决办法,你可以根据自己的需求选择:

  1. 完全禁用App Bundle的资源拆分
    在你的模块build.gradle的android块中添加以下配置,这样会生成一个包含所有资源的通用APK,避免旧系统找不到拆分后的资源:
android {
    // ...其他已有配置
    bundle {
        language {
            enableSplit = false
        }
        density {
            enableSplit = false
        }
        abi {
            enableSplit = false
        }
    }
}
  1. 针对Android 4单独发布传统APK
    如果你不想放弃App Bundle的优势,可以借助Google Play的多APK发布功能:
  • 为Android 4.x设备单独编译并上传一个传统的完整APK
  • 其他更高版本的设备继续使用App Bundle发布
  1. 升级AppCompat库到最新稳定版
    虽然不能彻底解决,但升级到最新的AppCompat稳定版本(比如你当前用的27.1.1可以升级到更高的稳定版),部分版本可能修复了和App Bundle的兼容问题,降低这类错误的出现概率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:35:54