adb port forwarding对我不起作用,您的见解表示赞赏。 我正在尝试以下命令
./ adb forward tcp:5985 tcp:5984"
我没有看到任何错误(在logcat中),但它只是无声地失败。当我尝试以下命令时
curl localhost:5985
之后,我得到"卷曲:(56)Recv失败:连接重置由同行"
当我尝试curl localhost:5984
时,我看到一条消息,因为我在端口5984(Couchbase服务器)上运行了一个进程。
我不认为这是adb本身的问题,因为所有其他adb命令都在工作。我尝试过的其他事情之一 a)kill-server后跟start-server(也有sudo模式) b)重新启动我的机器。
毋庸置疑,这些都没有奏效。我正在使用x64 Ubuntu 11.10。
请注意我正在使用模拟器,我的模拟器设备正在运行。 我确实在logcat中看到了其他消息,而不是这个消息。
由于
-Venu
答案 0 :(得分:3)
您是否从Google阅读过此文档? https://developers.google.com/chrome/mobile/docs/debugging
它说明您必须首先确保可以使用
查看您的设备adb devices
然后在您的Android设备上的Chrome中,转到打开设置>高级>开发人员工具并检查启用USB Web调试选项,如下所示:
然后输入以下命令:
adb forward tcp:9222 localabstract:chrome_devtools_remote
在桌面上的Chrome中转到此网址:
localhost:9222
这有用吗?
答案 1 :(得分:1)
好吧,我终于到了那里。我不确定其中哪一个最终解决了这个问题(但大多数都有帮助):
/etc/udev/rules.d/##-android.rules
为chmod a+rw
,以便我们不需要sudo adb
并且可以再次修改ATTRS{idVendor}
是简单的4十六进制代码(有些页面会鼓励您使用完整的lsusb
####:#### code SYMLINK+="android_adb"
条目adb devices
仍显示????????????
而不是我的设备代码(但现在可以使用)adb shell
实际上会返回#
提示adb usb
打破它(它没有以curl
返回,我认为这是对错误的改进,但是没有 - 它打破了它更糟糕的情况)答案 2 :(得分:1)
在原始问题上,答案是确保您的设备模拟器正在运行。在Ubuntu上,您可以使用:netstat -tan查看开发机器正在侦听的TCP端口。通常端口是5554.当模拟器未启动时,将不会有进程侦听此端口。
答案 3 :(得分:1)
有一个bug in adb forward,这样就可以简单地删除小的,快速的数据连接:
emulator> nc -lk 9998
host> adb forward tcp:9900 tcp:9998
host> date | nc localhost 9900 # Does not arrive at the emulator
host> ( date ; sleep 0.1 ) | nc localhost 9900 # Does arrive at the emulator
也就是说,当我使用curl
尝试上述操作时,数据会通过 - 大概是因为curl
以与(date ; sleep 0.1)
相同的方式保持套接字打开。
答案 4 :(得分:-1)
当我将Android SDK平台工具从29.0.2版本更新到29.0.3时,这个问题就开始发生了。
我遵循了这个How to downgrade my SDK version?
基本上,您需要将Android SDK平台工具降级到29.0.2版: