React Native打包Release APK时mergeReleaseResources任务执行失败
React Native Release打包资源重复错误解决方案(RN 0.70.1 + Gradle 7.2.1)
核心排查方向:code-push版本适配 + 资源冲突处理
先锁定code-push兼容版本
RN 0.70.1必须搭配适配的react-native-code-push版本,建议用7.1.0,执行以下命令重装:npm uninstall react-native-code-push npm install react-native-code-push@7.1.0 --save npx react-native link react-native-code-push同时确保
android/build.gradle里的code-push gradle插件版本和客户端版本一致:classpath "com.microsoft.codepush:codepush-gradle-plugin:7.1.0"解决资源重复冲突
- 在
android/app/build.gradle的android节点下添加打包规则,让gradle遇到重复资源时优先取第一个:
要是想更精准,可指定冲突库的路径,比如针对react-native-ratings:packagingOptions { pickFirst '**/*.png' pickFirst '**/*.jpg' pickFirst '**/*.mp4' // 按错误提示的资源类型补充,比如gif、jpeg等 }pickFirst '**/react-native-ratings/*.png' - 检查本地资源命名,把和第三方库重名的资源(比如
star.png)改个带前缀的名字(比如app_star.png),同步更新代码里的引用。
- 在
清理gradle缓存,避免旧资源干扰
执行以下命令彻底清理后再打包:cd android ./gradlew clean rm -rf .gradle app/build cd .. ./gradlew assembleRelease临时验证code-push影响
注释掉android/app/build.gradle里的code-push插件引用:// apply plugin: 'com.microsoft.codepush'再打包试试,如果能成功,说明就是code-push的资源处理逻辑导致的冲突,要么升级到最新兼容版,要么去code-push仓库提issue反馈。
内容的提问来源于stack exchange,提问作者user938363
相关产品推荐
相关产品推荐

