Expo SDK47 EAS Android构建中RNCWebView.isFileUploadSupported报错
Expo SDK47 EAS Android构建中react-native-webview报错的解决办法
问题概述
从Expo SDK45升级到SDK47后,使用react-native-webview v11.23.1进行EAS Android构建时,应用卡在启动页并抛出错误:
TypeError: null is not an object (evaluating '_reactNative.NativeModules.RNCWebView.isFileUploadSupported')
该模块在Expo Go中可正常运行,但自定义EAS构建出现异常。
解决步骤
1. 配置Expo插件
在app.json或app.config.js的expo.plugins数组中添加react-native-webview配置,让EAS构建时自动处理原生模块链接:
{ "expo": { "plugins": [ "react-native-webview" ] } }
2. 清理缓存并重装依赖
执行以下命令彻底清理缓存,避免旧构建残留影响:
# 清理EAS构建缓存 eas build:clear-cache # 清理Yarn缓存 yarn cache clean # 删除旧依赖并重新安装 rm -rf node_modules yarn install
3. 重新执行EAS Android构建
运行构建命令:
eas build --platform android
备选方案:降级WebView版本
如果上述方法无效,可尝试降级到SDK47兼容的稳定版本:
expo install react-native-webview@11.22.7
原因说明
- Expo SDK47基于React Native 0.70.5,调整了原生模块的集成机制,EAS构建不再自动隐式处理部分第三方模块的原生配置,必须显式声明插件才能完成链接。
- Expo Go内置了预配置的WebView模块,因此可以正常运行,但自定义构建需要手动配置插件确保原生模块正确加载,否则JS层无法找到对应的
RNCWebView原生对象,从而抛出错误。
内容的提问来源于stack exchange,提问作者jdpagley
相关产品推荐
相关产品推荐

