標籤:前言 ring not nts class 任務管理 bridge mave title
ADB支援兩種串連Android系統的方式,USB方式及網路方式。一般手機及平板預設會設定為USB方式。
android系統底層運行著一個服務(adbd),用於相應和管理大家在電腦端的adb命令串連,
這個服務在啟動時會根據手機的配置監聽USB串連或網路其中之一。
配置的屬性為:
service.adb.tcp.port <- 監聽的網路連接埠
以上屬性的值 > 0 : adbd將監聽網路對應的連接埠(一般為5555)
以上屬性的值 <=-1: adbd將監聽USB
所以預設情況下 我們 的android裝置開啟開發人員選項以及usb調試之後,預設是可以 adb devices 看到裝置的,看到裝置之後 直接 adb shell即可
但是如果我們想 開啟wifi 進行adb調試的話,得做到如下:
1. 關閉pc電腦端的防火牆
2. 配置手機端 service.adb.tcp.port =0(配置的工具可以用 adbwireless 或者airdb),於是有了下面的文章
Android開發無線調試工具adbwireless的使用簡介(附AirADB) JanRisun 關注2017.01.11 16:22* 字數 1534 閱讀 4506評論 4喜歡 15
adbWireless能夠讓手機用無線來取代USB串連而使用ADB工具
手機需要root並且與電腦在同一區域網路內(可以連同個路由或者電腦開WiFi給手機串連)
ADB(Android Debug Bridge)是Android提供的一個通用的調試工具,藉助這個工具,我們可以管理裝置或手機
模擬器的狀態。還可以進行以下的操作:
1、快速更新裝置或手機模擬器中的代碼,如應用或Android系統升級;
2、在裝置上運行shell命令;
3、管理裝置或手機模擬器上的預定連接埠;
4、在裝置或手機模擬器上複製或粘貼檔案;
註:本文參考資料會在文章最後註明。文中不足之處,歡迎批評指正!
前言
手機沒有升級之前是5.0的系統,當時就在用adbwireless工具進行無線調試。手機升級到了6.0系統,許可權管理已經改變,adbwireless又長久沒有更新,導致手機即使root之後仍然不能夠進行無限調試,報錯:unable to connect to 192.168.1.131:5555: cannot connect to 192.168.1.131:5555: 由於目標電腦積極拒絕,無法串連。 (10061)。起初以為是許可權問題,就去github上把項目clon到本地,添加了6.0許可權,運行之後錯誤不變。多方求索,通過設定手機預設的ADB串連方式可以解決該問題(後面會講到)。搞定後,決定碼字分享一波,寫到最後,在別的相關資料裡發現了更好用的無線調試工具(手動大寫尷尬),我會一併分享出來,嚶嚶嚶嚶……(白忙活了Orz)。有興趣的就往下看一下,只是尋求一個無線調試的工具的話,工具下載下來就好了,無線調起來吧(XX,根本停不下來)!第一次發文,多多指教!
adbwireless
adbwireless(寫入了6.0許可權) 提取密碼:mwb1
AirADB
ADB的配置
手機下載安裝好adbwireless之後,在電腦上配置ADB(已安裝的可跳過該步驟)
- 在Sdk裡找到adb.exe,複製其所在路徑C:\Users\Maven\AppData\Local\Android\Sdk\platform-tools
adb路徑.png
如果不記得Sdk檔案目錄,可以在Android Studio的設定裡進行查看
File>>Settings>>Appearance&Behavior>>System Settings>>Android SDK
sdk路徑.png
- 配置ADB環境變數
右鍵我的電腦>>屬性>>進階系統設定>>環境變數
在系統變數(s)裡找到Patch,選擇編輯。將ADB所在的目錄複寫進去,注意用“;”與其他變數分隔開
環境變數.png
- 檢測ADB是否配置成功
開啟命令列視窗(windows鍵+R)
輸入指令‘adb devices‘
如所示,則說明配置成功
cmd.png無線調試
接下來就是見證奇蹟的時刻
- 開啟adbwireless(已擷取root許可權),介面顯示當前裝置的ip地址;
adbison.png
- 開啟Android Studio控制台的Terminal,輸入adbwireless介面顯示的指令
adb connect 192.168.8.101,
輸出 connected to 192.168.8.101:5555則表示串連成功。接下來開始無線調試之旅吧,跟USB串連無差別。
同樣的你也可以直接在命令列視窗輸入以上指令,也是可以串連成功的。
terminal.png
註:下次要用時只需要把手機和電腦連同個區域網路,手機開啟adbwireless,電腦在命令提示字元裡執行"adb connect xxx.xxx.xxx.xxx"(xxx.xxx.xxx.xxx為adbwireless顯示的ip地址)就行了。
異常的處理
error: cannot parse version string: kg01
出現這個錯誤先在環境裡看下adb的路徑對不對,如果沒錯就在工作管理員裡把adb.exe,或kadb.exe結束掉,然後重新執行adb connect xxx.xxx.xxx.xxx命令就行
如果是adbwireless上的IP地址是adb connect 0.0.0.0的話,把adbwireless關掉,重新啟動一下
unable to connect to 192.168.1.131:5555: cannot connect to 192.168.1.131:5555: 由於目標電腦積極拒絕,無法串連。 (10061)
出現這個錯估計是手機root了,但是沒有授權給adbwireless,下載個root的授權管理。然後給adbwireless授權。再重新串連就行
如果以上方法不能解決問題,試著切換一下ADB串連手機的方式
ADB支援兩種串連Android系統的方式,USB方式及網路方式。一般手機及平板預設會設定為USB方式。
android系統底層運行著一個服務(adbd),用於相應和管理大家在電腦端的adb命令串連,
這個服務在啟動時會根據手機的配置監聽USB串連或網路其中之一。
配置的屬性為:
service.adb.tcp.port <- 監聽的網路連接埠
以上屬性的值 > 0 : adbd將監聽網路對應的連接埠(一般為5555)
以上屬性的值 <=-1: adbd將監聽USB
具體設定方法(手機需要與電腦串連)
enable adb over wifi:
adb tcpip 5555 //在與手機相連的電腦上執行
重新串連就可以了。
註:關閉無線調試的指令為 ’adb disconnect xxx.xxx.xxx.xxx‘需要手動切換ADB的串連方式(6.0以上),如果懶得每次在手機上敲命令,可使用這個工具AirADB,直接一鍵設定,並支援開機自動化佈建!! 需root許可權!附上AirADB的首頁面
AirAdb.png參考資料
slightlywobbly/github
Android studio使用adbwireless實現WiFi調試
ADB串連手機的兩種方式
Android 網路調試 adb tcpip 開啟方法
adb調試android裝置 說的比較清楚的一篇文章