导致IOException和Broken管道的原因

man*_*ang 44 android android-virtual-device

我的AVD是API 15,我不知道为什么,但每当我在模拟器上运行应用程序时,以下消息都会出现.除了控制台中的错误消息之外,它似乎没有造成任何问题.

[2012-06-17 00:03:26 - ddmlib] Broken pipe
java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:122)
    at sun.nio.ch.IOUtil.write(IOUtil.java:93)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:352)
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
    at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421)
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:837)
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:805)
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:765)
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652)
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44)
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:580)
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

Abh*_*dar 31

如果有人同时使用eclipse和android studio,则eclipse会抛出此错误.因此,即使您通过DDMS选择设备,它也会抛出此错误.


Ami*_*val 12

旧问题,但仍然相关,我没有看到任何其他答案与此信息:

对我来说,当另一个Eclipse同时运行时,它发生了,DDMS在与试图连接到Android设备的eclipse相同的套接字上竞争.

解决方案是关闭另一个Eclipse.希望它可以帮助某人.

更新:可能更好的解决方案是将另一个日食的DDMS端口编辑为您不使用的内容.所以它已经脱离了比赛.


kiz*_*zx2 6

当我同时monitor打开Eclipse ADT 时,这发生在我身上.尝试关闭所有Android相关的东西,然后再做一个adb kill-server && sleep 5 && adb devices然后再次启动你的工具(Eclipse/Ant/AS).


use*_*421 5

'Broken pipe'表示您已将数据写入已由对等方关闭的连接.解决方案:不要.它本质上是一个应用程序协议错误.


小智 0

当另一端的客户端关闭套接字连接时,会发生“损坏的管道”异常。大多数时候,这是无需担心的。