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

React Native Android Release构建出现重复资源错误求助

解决React Native Release构建中资源重复冲突问题

问题分析

你遇到的是reactnavigation_elements的backicon资源在android/app/src/main/res和android/app/build/generated/res/react/release目录重复,导致:app:mergeReleaseResources任务失败。删除源码目录资源会引发编译错误,且混淆配置不影响资源合并环节,核心是资源优先级或重复资源的处理逻辑问题。

可行解决方法

1. 调整资源目录优先级

在app/build.gradle的android块中修改资源目录顺序,让Gradle优先加载构建生成目录的资源,自动忽略源码目录的同名重复资源:

android {
    // 保留原有配置...
    sourceSets {
        main {
            res.srcDirs = [
                "$buildDir/generated/res/react/release",
                "src/main/res"
            ]
        }
    }
}

2. 精准排除冲突资源

如果不想调整整体资源优先级,可直接排除源码目录中的冲突backicon资源,在app/build.gradle的android块中添加:

android {
    // 保留原有配置...
    packagingOptions {
        // 根据实际资源后缀调整,比如drawable、drawable-hdpi等
        exclude 'drawable/reactnavigation_elements_backicon.xml'
        exclude 'drawable-hdpi/reactnavigation_elements_backicon.png'
        // 其他分辨率目录的资源按需添加
    }
}

3. 适配react-navigation依赖版本

部分版本的@react-navigation/elements与RN 0.71.11存在兼容性问题,会重复生成资源。可锁定适配的稳定版本,修改package.json后重新安装依赖:

"@react-navigation/native": "^6.1.6",
"@react-navigation/elements": "^1.3.17"

执行npm install或yarn install后清理构建缓存再重新打包。

验证操作

  1. 先执行./gradlew clean清理构建缓存
  2. 运行自定义build-release脚本重新构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:27:42