Expo如何只通过数据线连接手机的Expo go

不通过局域网,让电脑启动expo服务,然后手机的expo go通过数据线获取电脑上的expo app。主要思路是利用 ADB (Android Debug Bridge) 的端口转发功能,让手机通过 USB 数据线访问电脑上的开发服务器。

以下是详细的操作步骤:

准备工作:开启手机USB调试

  1. 打开开发者选项:在手机 设置 > 关于手机 中,连续点击 版本号 7次。
  2. 开启USB调试:返回 设置,进入 开发者选项,找到并开启 USB调试
  3. 连接电脑:用数据线将手机连接到电脑。手机上会弹出“允许USB调试吗?”的提示,点击“确定”。

核心方法:使用 ADB Reverse 转发端口

这是最稳定、推荐的方法。

  1. 确认设备连接:在电脑终端中运行以下命令,确保能看到你的设备列表:

    adb devices
    

    如果设备列表为空或显示“unauthorized”,请检查手机上的USB调试授权。

  2. 建立端口转发:运行以下命令,将手机上的端口转发到电脑上:

    adb reverse tcp:8081 tcp:8081
    

    Expo 开发服务器默认使用 8081 端口。如果你的服务器使用了其他端口(如19000),请相应修改。

  3. 启动Expo开发服务器:在项目目录下,使用 --localhost 参数启动服务器,这会让服务器只监听本地地址:

    npx expo start --localhost
    

    --localhost 参数能确保服务器不会尝试绑定到局域网IP,从而强制使用USB通道。

  4. 在Expo Go中打开项目:服务器启动后,在手机上的Expo Go App中,不要扫描二维码。而是手动输入以下地址:

    exp://127.0.0.1:8081
    

    exp://localhost:8081
    

    即可通过USB数据线加载应用。

备选方法:使用 Tunnel 模式

如果 adb reverse 不生效,可以尝试Expo的 --tunnel 模式。这种方式通过Expo的云服务建立连接,不依赖局域网。

npx expo start --tunnel

服务器启动后会生成一个URL,在Expo Go中手动输入这个URL即可。注意,这种方式的加载和刷新速度可能会比USB直连慢一些。

针对旧版Expo的提示

如果你使用的是 Expo SDK 45 或更早版本,Expo CLI 曾经提供一个Web界面。你可以在其中将连接方式从“LAN”切换为“Local”,也能实现通过USB连接。不过这个Web界面在新版本中已被移除。

总结

总的来说,最推荐的流程是:

  1. 开启手机 USB调试
  2. 在终端执行 adb reverse tcp:8081 tcp:8081
  3. 启动项目 npx expo start --localhost
  4. 在Expo Go中手动输入 exp://127.0.0.1:8081

按照这个流程操作,就可以摆脱对Wi-Fi网络的依赖,通过数据线进行开发和调试了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值