Expo构建Android APK失败:mergeReleaseResources资源编译错误
解决Expo Android构建中:app:mergeReleaseResources失败问题
核心问题定位
构建失败的直接原因是assets_pp.png资源编译错误,同时存在调试相关的未声明变量警告(虽不直接触发失败,但可能关联构建环境异常)。以下是针对性解决步骤:
修复PNG资源文件
- 验证
assets_pp.png完整性:检查文件是否损坏,用图片编辑器重新导出标准PNG格式,确保MDPI尺寸符合Android规范(约160dpi)。 - 清理生成资源:本地执行
npx expo prebuild --clean清除旧构建产物,再重新触发Expo构建;若本地有Android环境,可手动删除android/app/build/generated/res/createBundleReleaseJsAndAssets目录后重试。 - 检查引用路径:确认代码中对该图片的引用无大小写错误(Android资源严格区分大小写),路径拼写完全匹配实际文件位置。
- 验证
消除DebuggerInternal警告
这些警告来自调试工具残留逻辑,生产构建可通过配置屏蔽:
在app.json或app.config.js中添加Android生产构建配置:"android": { "jsEngine": "hermes", "enableDangerousExperimentalLeanBuilds": true }同时检查项目代码,移除手动引入的DebuggerInternal相关调试代码。
额外排查动作
- 升级依赖:执行
npx expo upgrade将Expo SDK、react-native及gradle相关依赖升级到兼容的稳定版本,避免版本冲突。 - 本地构建调试:在本地Android Studio环境中运行
cd android && ./gradlew assembleRelease,查看更详细的错误栈(云构建日志可能省略部分关键细节)。 - 检查资源冲突:确认项目中不同drawable目录(如mdpi、hdpi)下是否存在同名
assets_pp.png,导致合并时冲突。
- 升级依赖:执行
内容的提问来源于stack exchange,提问作者Uncle_batty
相关产品推荐
相关产品推荐

