appium+python自動化40-adb offline(5037端口被占)


前言

adb連手機的時候經常會出現offline的情況,一般殺掉adb,然后重啟adb可以解決。
如果發現不管怎么重啟adb都連不上,一直出現offlie的情況,這個時候很大可能就是adb的5037端口被其它應用占了

offline

1.如果之前一直都能正常連上adb,突然連不上了,可以用adb devices查看手機連接情況

C:\Users\admin>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
emulator-5554   offline


C:\Users\admin>adb devices
List of devices attached
emulator-5554   offline

2.發現無法連上,出現offline。可以嘗試adb kill-server,然后再用adb device查看

C:\Users\admin>adb kill-server

C:\Users\admin>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
emulator-5554   offline

3.上面各種辦法嘗試了,都無法解決,接下來就要查看5037端口了

查看端口

1.windows上可以用findstr過濾進程(跟linux上grep指令一樣),查詢結果看最后一項PID,如果是0那就不用管,那最后就有兩個PID占用了5037端口,
分別是6532和7200

netstat -aon|findstr 5037

C:\Users\admin>netstat -aon|findstr 5037
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       6532
  TCP    127.0.0.1:5037         127.0.0.1:56975        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56976        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56981        ESTABLISHED     6532
  TCP    127.0.0.1:5037         127.0.0.1:56988        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56990        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:56991        TIME_WAIT       0
  TCP    127.0.0.1:56981        127.0.0.1:5037         ESTABLISHED     7200

2.接下來就行查看PID,看是哪個應用占了

tasklist /fi "PID eq 端口號"

C:\Users\admin>tasklist /fi "PID eq 6532"

映像名稱                       PID 會話名              會話#       內存使用
========================= ======== ================ =========== ============
adb.exe                       6532 Console                    1     18,432 K

C:\Users\admin>tasklist /fi "PID eq 7200"

映像名稱                       PID 會話名              會話#       內存使用
========================= ======== ================ =========== ============
emulator-arm.exe              7200 Console                    1    884,088 K

3.從結果可以看出,有兩個應用占了,一個是adb本身,另外一個是模擬器(emulator-arm.exe),端口發生沖突了,接下來殺掉占用5037端口的進程

taskkill /pid 7200 /f

C:\Users\admin>taskkill /pid 7200
成功: 已終止 PID 為 7200 的進程。

在學習過程中有遇到疑問的,可以appium+python QQ群交流:330467341


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM