Adb反向tcp无法远程连接android

时间:2017-09-10 08:31:18

标签: android tcp adb

我正在尝试在远程连接的Android设备上执行reverse tcp命令(使用adb connect <ip-address>)。但是我在执行时遇到以下错误:

adb -s 192.168.0.101 reverse tcp:8081 tcp:8081
error: more than one device/emulator

但我只连接了一台设备。

adb devices
List of devices attached
192.168.0.101:5555      device

如果我使用USB连接我的设备,同样的命令工作正常。任何想法?

2 个答案:

答案 0 :(得分:1)

我只是碰到了这一点,尽管没有一个答案有效,但我最终还是可以重复地工作。遵循这些步骤应该可以让您在真正的Android设备上无线调试React Native应用。

我先运行了adb kill-server && adb start-server。我不确定这是否绝对必要。

  1. 将手机和计算机连接到同一网络
  2. 通过USB将手机连接到计算机
  3. adb tcpip 5555
  4. adb reverse tcp:8081 tcp:5555
  5. adb connect YOUR.PHONE.IP.ADDRESS:5555

您可以从网络设置-> Wifi-> Wifi首选项-> IP地址中找到手机的wifi IP地址。

  1. 断开USB线的连接。
  2. 如果尚未安装该应用,请按照通常通过USB的方式在手机上安装该应用,大多数情况下为react-native run android

打开应用程序,您将收到“无法加载脚本”错误。按下“重新加载”会出现错误“无法连接到开发服务器”。克服绝望并继续前进。

  1. 打开开发人员菜单(在您的React Native应用打开的情况下摇动手机),然后选择“开发设置”。从菜单中选择“调试设备的服务器主机和端口”。 查找您计算机的IP地址。在电话窗口中输入该地址,然后输入端口号8081:YOUR.COMPUTER.IP.ADDRESS:8081
  2. 现在摇动并重新加载。有时,这无能为力,因此关闭应用程序然后重新打开即可解决问题。

这时,您应该会看到捆绑器中装满了熟悉的绿色条。

  1. 摇晃并点击“远程调试js”。

从这里开始,您应该具有正常的调试经验,而不必担心接线问题。

答案 1 :(得分:0)

我发现如果我正在进行TCP / IP连接,则需要在连接到远程设备之前设置反向命令

示例:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="prod" data-pid="41853029" data-vid="79380299" data-qty="1">....
</div>

<div class="prod" data-pid="41853029" data-vid="79380296" data-qty="3">....
</div>

如果在执行反向操作之前进行连接,则始终会收到有关多个设备/仿真器的错误