求助:react-native-screens因配置无效被忽略,componentDescriptors不被允许
解决react-native-screens因无效配置被忽略的问题
问题原因
该报错是因为react-native-screens部分版本中,Android配置内的componentDescriptors字段不符合当前React Native版本的配置规范,导致Gradle构建时将其判定为无效配置,进而忽略整个包。
解决方案
降级到兼容版本
查找与你当前React Native版本匹配的react-native-screens版本,例如RN 0.70及以下版本可降级至^3.15.0:npm install react-native-screens@^3.15.0 --save # 或使用yarn yarn add react-native-screens@^3.15.0手动移除无效配置
进入node_modules/react-native-screens/android/build.gradle文件,找到包含componentDescriptors的代码块并删除/注释:// 找到并删除这段代码 componentDescriptors { // 原配置内容 }执行清理并重新构建:
cd android && ./gradlew clean && cd .. && npx react-native run-android升级React Native版本
若不想降级依赖,可尝试升级React Native至0.71及以上版本,这类版本已支持componentDescriptors字段,不会触发该报错。升级前请备份项目,处理好其他依赖的兼容性问题。
额外提示
修改node_modules内的文件后,建议使用patch-package持久化修改,避免重新安装依赖时丢失更改:
npm install patch-package --save-dev # 修改文件后执行 npx patch-package react-native-screens
内容的提问来源于stack exchange,提问作者Muhammad Haris
相关产品推荐
相关产品推荐

