React Native项目EAS Android构建失败:重复类错误求助
解决方案:移除重复的Masked View依赖
问题根源
错误日志明确指出org.reactnative.maskedview.BuildConfig被重复定义,查看你的package.json发现同时安装了两个功能完全相同的库:
@react-native-community/masked-view(旧社区维护包)@react-native-masked-view/masked-view(官方迁移后的新包)
这两个库的Android模块生成了相同的BuildConfig类,导致Dex合并冲突——你之前开启Multidex的操作是针对方法数超限的场景,不适用当前问题。
修复步骤
移除旧的社区版依赖
执行命令卸载重复包:npm uninstall @react-native-community/masked-view # 使用yarn的话执行:yarn remove @react-native-community/masked-view更新代码中的导入路径(如果有)
检查项目中所有导入MaskedView的代码,确保从新包导入:// 替换旧导入语句 // import MaskedView from '@react-native-community/masked-view'; import MaskedView from '@react-native-masked-view/masked-view';清理缓存并重新构建
# 清除npm缓存 npm cache clean --force # 清除Metro缓存 npx react-native start --reset-cache # 重新执行EAS构建 eas build --profile development --platform android
额外说明
- Expo Go中能正常运行是因为Expo内部已经处理了依赖冲突,但EAS Build会严格按照你的
package.json构建,所以冲突暴露出来。 - 你的React Native版本(0.69.5)兼容
@react-native-masked-view/masked-view@0.2.7,无需调整版本。
内容的提问来源于stack exchange,提问作者Niklas
相关产品推荐
相关产品推荐

