使用WIFI调试React Native应用程序

17
Could not run adb reverse: Command failed: /home/sofiane/Android/Sdk//platform-tools/adb -s 192.168.1.2:5555 reverse tcp:8081 tcp:8081

当我使用端口:8081时

adb tcpip 8081

adb connect 192.168.1.2:8081

我遇到了这个错误:

输入图像描述

当我使用端口:5555时

adb tcpip 5555

adb connect 192.168.1.2:5555

我遇到了这个错误:

输入图像描述

8个回答

13

请确保您已连接到相同的网络,例如我使用我的手机热点将笔记本电脑连接。当然,您还需要具有互联网访问权限,并确保您已成功使用 react-native run android 将应用程序安装到您的手机上。如果您已成功安装应用程序,则现在可以拔掉连接的USB电缆。

然后,在Windows上,只需打开终端(CMD),然后键入 ipconfig,再按回车键。然后,您将看到您的IP配置列表。您的私有IP地址是IPv4地址,类似于 192.168.0.10

在您的React Native项目中,运行 react-native start 启动 Metro Bundler。当 Metro Bundler 启动时,它会显示 Running Metro Bundler on port 8081 <- 这是您需要通过的端口。

在您的设备上,转到设备设置,然后转到“调试服务器主机和设备端口”,然后键入计算机的私有IP地址加上运行 Metro Bundler 的端口,例如:192.168.0.10:8081

单击保存,然后尝试重新加载您的应用程序。


1
将端口号添加到 IP 地址上解决了我的问题。谢谢。 - iphonic

13

如果您正在使用wifi连接Android设备,则必须按照错误屏幕上的最后一个建议进行操作(因为adb -s ip:port reverse ...似乎不起作用):

  1. 打开您的应用程序并摇晃设备,直到看到开发人员菜单。
  2. 进入“Dev Settings”。
  3. 将“Debug server host&port for device”设置为您的开发计算机的IP地址和端口8081。

5

根据 React Native 文档,设备必须连接同一个 Wi-Fi 才能正常工作,然后通过摇晃应用打开设置菜单,选择 "Dev Settings": 将本地 PC 地址添加到 "Debug server host & port for device" 中,例如 10.0.1.1:8081。

可能还需要执行 adb reverse tcp:8081 tcp:8081 命令。


1
顺便提一下:确保你的 VPN 已关闭,因为它可能会干扰。 - Variag

3

我能够在不连接设备和安装应用程序的情况下完成。

  1. 在Android Studio中打开项目
  2. 在Android Studio中打开“设备管理器”
  3. 在Android Studio的设备管理器中单击“使用Wi-Fi配对”
  4. 在设备上 -> 设置 -> 开发人员选项 -> 无线调试 -> 启用无线调试
  5. 在设备上 -> 设置 -> 开发人员选项 -> 无线调试 -> 使用QR码配对 -> 扫描显示在Android中的QR码
  6. 从终端或等效工具运行adb devices以列出在同一网络上的设备
  7. 使用终端中显示的同一wifi网络上的adb设备名称运行react-native run-android deviceId=xxxxxxxx

这样,您就可以通过wifi调试应用程序了。


如果您的设备运行的是Android 10(API级别29)或更低版本,请尝试访问此链接:https://developer.android.com/tools/adb#wireless - Prasad Kavinda

2
在开始之前,将您的手机连接到电脑上并使用“react-native run:android”命令运行应用程序。然后运行“adb shell input keyevent 82”命令。它将显示一个弹出窗口,请选择“开发者设置”。然后进入设备的调试服务器主机和端口。然后输入与您的PC连接的wifi主机IP地址(使用此链接获取wifi IP:获取已连接wifi的本地IP)。
获取值为“您的本地IP为:*************”。
在该IP地址后添加“:8081”。
如果您想通过wifi进行实时重新加载,请使用“adb shell input keyevent 82”命令并选择实时重新加载选项。

0

当我在工作中遇到Wi-Fi连接问题时,因为我的电脑有防火墙规则,而这些规则经常变化,我该怎么办。

  1. 打开我的“移动热点”,与连接到Wi-Fi的手机共享连接。
  2. 将笔记本电脑连接到移动设备共享的网络上。
  3. 获取移动设备生成的IP地址。
  4. 将“设备的调试服务器主机和端口”设置为该IP地址的8081端口。

0

我在Windows上遇到了同样的问题,通过添加端口8081的规则来解决了它。

在你的情况下,这可能会对你有所帮助:

sudo ufw allow 5555/tcp

-1

我曾经遇到过同样的问题,尝试连接React Native应用程序进行调试时无法连接Android 4.4设备。

你需要禁用防火墙

然后重新连接,它就可以正常工作了

祝编码愉快!!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接