React Native项目在Android Studio模拟器启动失败,已启动Metro仍报错
React Native Android Studio模拟器启动失败解决方案
针对你遇到的「已启动Metro但Android Studio模拟器无法加载脚本,终端npx react-native run-android可正常运行」的问题,可尝试以下解决方案:
修正模拟器调试服务器地址
Android模拟器默认无法直接访问主机的localhost,需替换为模拟器专属环回地址10.0.2.2:- 打开模拟器的开发者菜单(摇设备或按
Ctrl+M/Cmd+M) - 选择「Dev Settings」→「Debug server host & port for device」
- 输入
10.0.2.2:8081,重启应用
- 打开模拟器的开发者菜单(摇设备或按
调整Android Studio运行配置
Android Studio默认在android子目录下启动进程,需指定项目根目录让Metro定位资源:- 打开「Run/Debug Configurations」
- 找到你的应用配置,切换到「Arguments」标签页
- 在「Program arguments」中添加
--root ../..,保存后重新运行
检查Metro端口与运行状态
确认Metro服务未被占用或可被模拟器访问:- 查看8081端口占用情况:
Mac/Linux:lsof -i :8081
Windows:netstat -ano | findstr :8081 - 若端口被占用,重启Metro并指定新端口:
npx react-native start --port 8082,同时在模拟器Dev Settings中更新对应端口
- 查看8081端口占用情况:
配置离线Bundle(临时兜底方案)
生成本地bundle让应用离线加载:- 若
android/app/src/main/assets目录不存在,先创建:mkdir -p android/app/src/main/assets - 执行bundle生成命令:
npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ - 在Android Studio中重新编译运行应用
- 若
内容的提问来源于stack exchange,提问作者AJDee
相关产品推荐
相关产品推荐

