【问题标题】:IOException: Broken pipe when running Android applicationIOException:运行 Android 应用程序时管道损坏
【发布时间】:2013-03-04 06:21:43
【问题描述】:

尝试从 Eclipse 运行我的 Android 应用程序时,我在控制台中收到此错误:

    [2013-03-04 14:19:05 - ddmlib] Broken pipe
    java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:89)
        at sun.nio.ch.IOUtil.write(IOUtil.java:60)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:450)
        at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
        at com.android.ddmlib.Client.sendAndConsume(Client.java:605)
        at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
        at com.android.ddmlib.Client.requestAllocationStatus(Client.java:451)
        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)

如何解决此类错误?

当我执行adb connect <IP_ADDRESS> 时,它显示已连接到 192.168.0.109:5555

【问题讨论】:

  • 你尝试重启 Eclipse 了吗?
  • 重启模拟器或重新插入连接设备的数据线

标签: java android


【解决方案1】:

这个错误通常是由于eclipse和你的模拟器之间的IO管道被破坏造成的。如果它不会在您的应用程序中引起任何问题,您通常不需要担心这一点。另见this thread

【讨论】:

    【解决方案2】:

    在 win7 上并使用 GenyMotion 我

    1.打开Oracle VM VirtualBox Manager;

    2.从菜单中选择文件 -> 首选项...;

    3.在打开的窗口中切换到网络;

    4.右边有三个图标,最下面的标签是'Edit host-only network(Space)',点击它;

    5.新窗口打开;

    6.检查您的“IPv4 地址”(适配器选项卡)是否介于“下限地址绑定”和“上限地址绑定”(DHCP 服务器选项卡)之间;

    7.如果不是,则使其介于两者之间;

    8. 如果是,请更改“IPv4 地址”地址: 例如如果旧的是192.168.112.104,则改为192.168.112.105;

    9.在打开的窗口上单击确定按钮;

    10.尝试您的虚拟设备是否再次工作。

    在此之前,我还会在 TaskManager 中关闭所有与 Virtual* 或 Virt* 相关的进程。

    【讨论】:

      【解决方案3】:

      您只能关闭当前正在运行的模拟器,然后从您正在使用的 IDE 中启动一个新模拟器,例如eclipse.. runa as.. Android 应用程序。就是这样。

      【讨论】:

        【解决方案4】:

        在设备上 下拉通知栏 选择USB充电 选择使用 USB 传输文件

        然后改回 选择使用 USB 充电

        -- 另外,切换电缆或 USB 端口有时会有所帮助。

        【讨论】:

          【解决方案5】:

          尝试更换 USB 数据线。我的 USB 数据线稍有损坏,它可以完美地为手机充电,但在运行任何应用程序时都会出现此错误。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-10-19
            • 2022-07-29
            • 1970-01-01
            • 1970-01-01
            • 2010-10-28
            • 2011-03-19
            • 1970-01-01
            相关资源
            最近更新 更多