Expo项目Android模拟器报错:HMRClient.setup()调用失败
解决React Native Expo Android模拟器启动报错(HMRClient.setup())
针对你遇到的java.lang.RuntimeException: Attempting to call JS function on a bad application bundle: HMRClient.setup()报错,且Web版本正常、已清理node_modules无效的情况,尝试以下方案:
清除Expo全局缓存
执行命令彻底清除Expo的缓存和metro缓存:npx expo start --clear检查模拟器网络连通性
确保Android模拟器和开发设备处于同一网络环境:- 重启模拟器的网络(可通过模拟器的"Settings" -> "Network & Internet" -> 切换飞行模式再关闭)
- 直接重启模拟器,或在AVD管理器中重启设备
临时禁用热重载(HMR)
关闭HMR后尝试启动项目,判断是否为HMR相关问题:npx expo start --no-hmr若能正常启动,后续再排查HMR的配置或依赖冲突。
更新Expo CLI版本
检查本地Expo CLI版本是否与项目依赖兼容,更新到最新版本:npm install -g expo-cli # 或使用npx直接调用最新版本启动 npx expo@latest start --clear重置模拟器数据
在Android Studio的AVD管理器中,选中目标模拟器,点击"Wipe Data"清除所有设备数据,之后重新启动项目。验证Metro配置
若自定义过metro.config.js,暂时恢复默认配置测试:const { getDefaultConfig } = require('expo/metro-config'); const config = getDefaultConfig(__dirname); module.exports = config;
内容的提问来源于stack exchange,提问作者haobei620
相关产品推荐
相关产品推荐

