打包发布版APK时出现:app:mergeReleaseResources错误求助
解决Release APK打包时的Duplicate Resources错误
具体解决方案
1. 彻底清理构建缓存
先清理项目的构建生成文件和缓存,避免旧资源残留:
- 进入Android目录执行清理命令:
cd android && ./gradlew clean - 回到项目根目录,可选清理Node依赖和RN缓存(如果问题反复出现):
rm -rf node_modules && npm install && npx react-native clean
2. 删除手动添加的第三方库资源
从错误信息能看到,重复资源里有reactnavigation_elements、reactnativepaper这类第三方库的文件,说明你大概率手动把这些库的资源复制到了android/app/src/main/res/目录下。直接删掉main/res/下所有以node_modules_开头的资源文件/文件夹——这些资源会由React Native自动从依赖库中打包,完全不需要手动添加。
3. 配置Gradle忽略重复资源
如果清理后还是报错,修改Android的构建配置,让Gradle遇到重复资源时自动保留一份:
打开android/app/build.gradle,在android代码块里添加如下配置:
android { // 原有配置不变,新增下面这段 packagingOptions { pickFirst '**/*.png' pickFirst '**/*.jpg' pickFirst '**/*.jpeg' } }
这个配置会让Gradle在发现重复图片资源时,优先保留第一个找到的版本,跳过重复项。
4. 检查本地资源的命名和路径
对于你自己的本地资源(比如src_assets_images_开头的文件),确保它们没有同时放在main/res/和其他会被打包的目录里,同时检查文件名是否符合Android规范——只能用小写字母、数字、下划线,不能有大写或空格,不符合的话重命名后再打包。
5. 升级相关依赖版本
旧版本的React Native或其依赖库可能存在资源打包bug,尝试升级到稳定版:
- 升级React Native到当前稳定版本
- 升级相关依赖库,比如执行命令更新导航和纸组件:
npm update @react-navigation/native react-native-paper
内容的提问来源于stack exchange,提问作者eaidy
相关产品推荐
相关产品推荐

