閱讀845 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如何解決adb devices 端口被占用的問題

在win xp ,win 7 上使用adb時, 越來越多的人出現了 adb devices 命令長時間無響應、adb start-server 失敗、eclipse adt初始化時卡在dbms-init上等現象。

它們的根本原因均在於,adb server所使用的5037號端口被占用。


一種常見的解決方法是:找出占用5037端口的程序,然後殺掉它。

使用:netstat -aon | findstr 127.0.0.1:5037 來找到占用5037的進程ID。

使用:kill -f pid 去殺掉它們。(或者在任務管理器 -進程中,結束進程。PS:需要事先在 windows任務管理器-查看-選擇列,勾選PID)


我查詢了機器上占用5037的進程,是係統svhost,它是一個service host,具體裏麵跑的什麼服務則不得而知。但服務進程每一次開機都會運行。

所以,上述的方法在每次開機都要做一遍,麻煩。所以,這個方法並不是最優解。


另一種方法:

自己配置 adb server 端口,使用一個生僻的值。

很簡單,隻要在係統環境變量中定義 ANDROID_ADB_SERVER_PORT 的值即可。

最好選擇一個5位數的端口號(10000 ~ 65535),不易重複。


win下隻要在環境變量中增加一個ANDROID_ADB_SERVER_PORT ,值填你自己定義的端口。

linux下隻要 export $ANDROID_ADB_SERVER_PORT = 自定義端口,即可。

這時打開一個命令行,輸入adb devices,看看是不是在新的端口上啟動了啊? 

最後更新:2017-04-03 05:39:50

  上一篇:go 雙硬盤RAID 0全攻略
  下一篇:go (管道)寫入子shell