You need to enable JavaScript to run this app. 启动React Native项目连接Android模拟器时报8081端口占用EADDRINUSE错误
优惠活动
大模型
产品
解决方案
定价
更多

启动React Native项目连接Android模拟器时报8081端口占用EADDRINUSE错误

报错原因

EADDRINUSE错误代表React Native默认使用的8081端口(Metro打包服务的默认监听端口)已经被其他进程占用,常见占用进程包括未正常关闭的旧Metro进程、Web服务、虚拟机后台进程等。

解决方案

方案1:终止占用8081端口的进程(推荐)

根据你使用的操作系统执行对应命令即可:

  • Windows系统(你当前使用的系统)
    1. 执行命令查询占用8081端口的进程PID:
      netstat -ano | findstr :8081
    2. 命令返回结果最后一列的数字就是对应进程的PID,执行以下命令终止进程(替换示例中的1234为你查询到的实际PID):
      taskkill /PID 1234 /F
  • macOS/Linux系统
    1. 执行命令查询占用8081端口的进程PID:
      sudo lsof -i :8081
    2. 找到PID后执行以下命令终止进程(替换示例中的1234为实际PID):
      sudo kill -9 1234

进程终止后重新执行npx react-native start即可正常启动服务。

方案2:更换Metro服务监听端口

如果占用8081端口的进程无法终止,可以手动指定其他端口启动Metro服务:

  1. 启动服务时添加端口参数,示例使用8082端口:
    npx react-native start --port 8082
  2. 打开Android模拟器的调试菜单:可执行命令adb shell input keyevent 82调出,或者手动摇一摇模拟器
  3. 选择Settings -> Debug server host & port for device,填写localhost:8082后保存,重新加载应用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 21:24:04