1、有時候用adb工具去連接安卓設備,或者模擬器的時候,會提示adb server version(31) doesn’t match this client(41)這樣的提示。如圖
提示的字面意思就是當前client版本41,與server端的版本不匹配,當前版本過高引起的。注意,這里的client就是你電腦已經安裝的adb程序的版本,而server,也就是你的服務端,將要connect的設備。
網上說出現這種不匹配只要下載對應的adb版本重新替換你之前安裝的adb就行了,對應的android studio 路徑就是你的android sdk 目錄的platform-tools文件夾里面的adb.exe程序。
而事實上卻並非就解決問題。這是因為我的電腦安裝了360手機助手占用了adb的端口引起的。因為套接字的唯一性(一個套接字只能由 協議/網絡地址/端口號 唯一確定 ),一個電腦只能有一個程序關聯對應的端口,對於adb對應的端口就是5037。
為了驗證5037端口是否被占用,可以用netstat -ano|findstr “5037” 去查找5037對應的端口號的進程id 也就是pid。
果然,5037端口有相應的進程,我們試着去查找相應的進程對應的進程名稱,用tasklist |findstr “13656” ,刪除失敗
通過在進程里查找,發現是360手機助手,只能卸載了。
卸載后再次運行:adb devices 成功
當然前提是確保手機正常連接到電腦,並且手機usb處於調試狀態。