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

Expo安卓应用WebView报错求助:RNCWebView相关TypeError问题

解决 Expo Android 中 react-native-webview 加载错误问题

错误核心原因

你遇到的TypeError: null is not an object (evaluating '_reactNative.NativeModules.RNCWebView.isFileUploadSupported')和"main" has not been registered错误,本质是react-native-webview的原生模块未正确集成到dev-client环境中。使用--dev-client启动时,Expo不会自动处理原生第三方模块的注入,必须手动预构建原生项目代码。

解决方案

1. 执行Expo预构建

运行以下命令生成安卓原生项目文件,将webview的原生模块集成进去:

npx expo prebuild

预构建完成后,重新启动dev-client:

expo start --dev-client

2. 清理缓存并重启Metro

停止当前运行的Metro服务,执行清理缓存命令后重启:

npx expo start --clear --dev-client

3. 验证依赖版本兼容性

确保react-native-webview版本与你的Expo SDK版本匹配。可以根据当前Expo SDK版本安装对应适配版本:

npx expo install react-native-webview@[适配版本号]

例如Expo SDK 49对应react-native-webview@13.6.3,SDK 50对应react-native-webview@13.8.6。

4. 优化App.js代码(可选)

为View添加全屏样式,确保WebView正常显示:

import { View, StyleSheet } from 'react-native';
import { WebView } from 'react-native-webview';

export default function App() {
  return (
    <View style={styles.container}>
      <WebView source={{ uri: 'https://example.com' }} />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 21:20:43