首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse Console 持續報 java.io.IOException: 連接被中斷 解決實錄

     編輯:Java 相關知識

現象描述

Eclipse Console 反覆輸出:

[2013-09-02 17:24:14 - ddmlib] 您的主機中的軟件中止了一個已建立的連接。
java.io.IOException: 您的主機中的軟件中止了一個已建立的連接。
    at sun.nio.ch.SocketDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
    ...
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:580)

堆疊顯示源自 ddmlib 的 JDWP 協議通訊中斷,通常發生在 Android 調試過程中 ADB 連接不穩定。

快速修復方案

在終端執行以下兩條命令重置 ADB 服務:

$ adb kill-server
$ adb shell

執行後 Console 中的 IOException 即刻停止。

後續現象與處理

修復後發現 Console 不再顯示應用安裝進度日志。在 Console 視圖右上角工具欄找到「顯示/隱藏輸出」按鈕(圖標如下),點擊啟用即可恢復日志輸出。

Console 顯示按鈕位置

根因補充

  • ADB 服務與 Eclipse DDMS 通訊管道異常導致 Socket 寫入失敗
  • adb kill-server 強制終止殘留進程,adb shell 重新建立健康連接
  • Console 視圖過濾設置可能因連接重置而異常隱藏輸出流

預防建議

  1. 定期重啟 ADB 服務(可配置構建腳本自動執行)
  2. 避免同時運行多個 IDE 連接同一 ADB
  3. 保持 ADB 版本與平台工具版本一致
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved