安卓ADB埠被佔用/ADB無法使用解決辦法
1、CMD命令視窗輸入:adb nodaemon server 。然後就會提示你哪個埠被佔用了。
2、輸入netstat -ano | findstr "5037" 。然後會彈出提示告訴你哪些程序佔用了該埠,記住非0地址的後面的數字
3、開啟工作管理員,點選“程序“,“檢視”-“選擇列”,勾選PID
4、查詢第2步中看到的數字PID,然後結束相關程序,即可
adb作用:內部是一個socket,可以與模擬器通訊,取得它的資訊給window系統
使用adb工具的方法
開啟dos視窗,把adb.exe拖拽到黒窗裡面
按回車,會有一些資訊
說明當前的版本號是1.0.31
下面的資訊是它的一些說明
(列出來所有連線到電腦上的裝置)
對於上面的命令,我們可以這樣做,輸入devices,顯示出來連線到電腦上的裝置
adb是用socket寫的,埠不穩定,假設埠被佔用的時候adb會壞掉,下次裝置找不到的時候,
解決方法:
點選下面的倒三角,出現reset adb(會殺死掉adb,再重啟adb)
reset adb內部執行的操作
- 殺死adb除錯橋
把adb.exe拖進來,輸入kill-server敲一下回車
- 重啟adb除錯橋
把adb.exe拖進來,輸入start-server
adb除錯橋使用非常方便,我們最好把adb指令配置到環境變數當中
環境變數的作用:
原來要執行adb命令的話,要把adb拖到黒窗中,顯示全命令,再輸命令,配置了環境變數的好處是不需要再拖了,直接輸adb即可
配置步驟,在
複製路徑,貼上到我的電腦---高階—環境變數的path後面,點選確定即可
配置後比如先輸入kill-server,再輸入start-server出現下面的圖,表示啟動成功了
如果有時候start-server開不起來了,可以到工作管理員裡面,找到adb.exe程序去手動結束,再啟動程序
有時候無法啟動adb,比如報錯不能啟動5037等,是因為有迅雷,快播等軟體佔據了5037埠
檢查埠是否被佔據的方法:
輸入netstat –ano指令,列出當前的端口占用情況
看到
5037被3840佔用
開啟工作管理員,檢視—選擇列把PID(程序識別符號前面的勾勾上)--確定
在程序裡面找到PID為3840的程序,發現在被eclipse佔用,這個情況是正常的
這裡的dx.bat是把.class檔案打包成.dex檔案