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

如何配置本地服务器Port forwarding至Expo安卓模拟器

安卓Expo模拟器通过端口转发访问笔记本本地服务器配置步骤

前置确认

  • 本地服务器已在笔记本正常启动,记录服务监听的端口号(下文统一用<你的服务端口>指代,比如3000、8080等常见开发端口)
  • 安卓模拟器已正常启动,Expo运行环境可正常识别该模拟器(可正常在模拟器内启动Expo Go/自定义Dev Client)
  • Android SDK的platform-tools路径已加入系统环境变量,终端可直接调用adb命令

操作步骤

  • 验证adb连接状态
    终端执行adb devices,输出列表中能看到当前运行的模拟器实例即为正常,示例输出:
    List of devices attached
    emulator-5554   device
    
    如果看不到设备,依次执行adb kill-server、adb start-server重启adb服务后重新查询。
  • 配置端口反向转发
    终端执行以下命令,将两处<你的服务端口>替换为本地服务实际占用的端口号:
    adb reverse tcp:<你的服务端口> tcp:<你的服务端口>

    该规则会将安卓模拟器内部的指定端口,直接映射到笔记本本机的对应端口,规则在adb连接正常时持续生效。
    如果你同时启动了多个模拟器实例,需要指定目标设备配置规则:先从adb devices输出中拿到目标模拟器的标识(比如emulator-5554),再执行adb -s <模拟器标识> reverse tcp:<你的服务端口> tcp:<你的服务端口>。

  • Expo端访问配置
    • 不管是Expo Go还是自定义Dev Client,直接将请求地址写为http://localhost:<你的服务端口>即可访问本地服务,无需使用10.0.2.2这类模拟器默认网关地址。
    • 如果本地服务走HTTP明文协议(非HTTPS),且使用安卓9及以上版本系统的镜像,需要在项目的android/app/src/main/AndroidManifest.xml文件的<application>标签下添加android:usesCleartextTraffic="true"属性,否则明文请求会被安卓系统网络安全规则拦截。

常见失效排查

  • 模拟器重启、adb服务重启后,端口转发规则会自动清空,需要重新执行adb reverse命令配置
  • 确认本地服务监听地址为127.0.0.1或0.0.0.0,如果服务仅绑定了某一块物理网卡的IP,转发规则无法命中
  • 配置规则时暂时关闭笔记本上的全局代理、VPN类软件,这类工具会劫持环回网卡流量导致转发失效
  • 如果需要删除单条转发规则,执行adb reverse --remove tcp:<你的服务端口>;清空所有转发规则执行adb reverse --remove-all即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:06:23