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

Task :app:mergeReleaseResources 失败,删除重复资源后修改未打包生效问题

根因说明

修改不生效的核心原因是删除drawable资源后,未重新执行bundle命令生成包含最新代码的bundle文件及对应资源,后续执行release构建时直接复用了旧的缓存产物。
此前的重复资源报错,本质是手动提前执行bundle生成了静态资源,gradle构建release包时默认会再次自动生成一份资源,两份资源冲突导致构建失败。

解决步骤
  • 第一步 清理所有旧构建产物与缓存
    依次执行以下命令:
    rm -rf android/app/build
    rm -rf android/app/src/main/assets/*
    cd android && ./gradlew clean
    cd .. && npx react-native start --reset-cache
    
  • 第二步 重新生成最新的bundle与资源文件
    执行bundle命令生成包含最新修改的产物:
    react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
  • 第三步 执行release构建
    直接运行构建命令即可生效:
    react-native run-android --variant=release
长期优化方案

如果要避免后续再出现同类问题,可修改android/app/build.gradle配置,让gradle构建时自动执行bundle任务,无需手动提前执行,也不会出现资源重复冲突:
找到project.ext.react配置块,调整为以下内容(按需保留你原有的其他配置,补充缺失的字段即可):

project.ext.react = [
enableHermes: false, // 按你项目实际需求配置是否开启hermes
entryFile: "index.js",
bundleAssetName: "index.android.bundle",
bundleInRelease: true,
resourcesDirRelease: "src/main/res"
]
配置完成后,后续不需要提前手动执行bundle命令,直接执行react-native run-android --variant=release即可自动打包最新代码与资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:45:03