Android App Bundle构建失败:Task :app:bundleReleaseResources FAILED 求助
排查Task :app:bundleReleaseResources FAILED错误的解决方案
我来帮你搞定这个Android构建失败的问题,Task :app:bundleReleaseResources FAILED这类错误大多和资源文件、配置冲突或者依赖兼容性有关,结合你给出的build.gradle代码片段,我们一步步来排查:
1. 先修正明显的拼写错误
看你的project.ext.react配置里有个笔误:
composeSourceMapsPath: "node_mdoules/react-native/scripts/compose-source-maps.js",
这里的node_mdoules应该是node_modules,这个路径错误可能会导致构建过程中找不到资源处理脚本,先把这个拼写改对!
2. 检查资源文件的合法性
资源构建失败最常见的原因是资源本身有问题:
- 检查
res/目录下的所有文件:图片命名不能有大写字母、空格或特殊字符(仅允许下划线),比如MyImage.png要改成my_image.png - 检查XML资源文件(比如
strings.xml、布局文件、styles.xml)有没有语法错误,比如标签未闭合、字符串转义错误 - 执行清理命令清除缓存,再重新构建:
./gradlew clean ./gradlew bundleRelease
3. 确认compileSdkVersion与依赖的兼容性
你的代码里用了rootProject.ext.compileSdkVersion,要确保根项目的compileSdkVersion和React Native、Expo相关依赖版本匹配:
- 比如React Native 0.70+通常需要compileSdkVersion 33或34,打开根目录的
build.gradle或者gradle.properties,确认这个值设置正确 - 如果依赖了第三方库,也要确保它们的compileSdkVersion和项目一致,避免版本冲突
4. 完善MultiDex配置
你已经开启了multiDexEnabled true,如果你的minSdkVersion低于21,还需要补充以下配置:
- 在
app/build.gradle的dependencies块中添加MultiDex依赖:dependencies { implementation 'androidx.multidex:multidex:2.0.1' // 其他依赖... } - 确保你的Application类继承
MultiDexApplication,或者在attachBaseContext方法中手动初始化:@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
5. 排查维度配置冲突
你设置了missingDimensionStrategy ('store', 'play'),要确保所有依赖库都支持这个维度,或者没有引入冲突的维度:
- 执行以下命令查看完整依赖树,排查是否有依赖库引入了其他未处理的维度:
./gradlew app:dependencies - 如果发现冲突,可以给对应的依赖库添加
missingDimensionStrategy,比如:implementation('some.library:xxx:1.0.0') { missingDimensionStrategy 'store', 'play' }
6. 获取详细错误日志
EAS构建的日志可能不够详细,建议本地执行构建命令,查看完整的错误堆栈:
./gradlew bundleRelease --stacktrace
这样能定位到具体是哪个资源文件或者步骤导致的失败,方便精准修复。
先从修正拼写错误和本地构建查日志开始,这两个步骤通常能解决大部分问题,如果还有问题,可以把本地构建的完整错误日志贴出来,我再帮你进一步分析。
内容的提问来源于stack exchange,提问作者iimaxenceii
相关产品推荐
相关产品推荐

