adb調試android設備 說的比較清楚的一篇文章


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)

96 
JanRisun 
2017.01.11 16:22* 字數 1534 閱讀 4506評論 4

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(已安裝的可跳過該步驟)

  1. 在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
  1. 配置ADB環境變量
    右鍵我的電腦>>屬性>>高級系統設置>>環境變量
    在系統變量(s)里找到Patch,選擇編輯。將ADB所在的目錄復制進去,注意用“;”與其他變量分隔開
 
環境變量.png
  1. 檢測ADB是否配置成功
    打開命令行窗口(windows鍵+R)
    輸入指令'adb devices'
    如下圖所示,則說明配置成功
 
cmd.png

無線調試

接下來就是見證奇跡的時刻

  1. 打開adbwireless(已獲取root權限),界面顯示當前設備的ip地址;
 
adbison.png
  1. 打開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地址)就行了。

異常的處理

  1. error: cannot parse version string: kg01
    出現這個錯誤先在環境里看下adb的路徑對不對,如果沒錯就在任務管理器里把adb.exe,或kadb.exe結束掉,然后重新執行adb connect xxx.xxx.xxx.xxx命令就行

  2. 如果是adbwireless上的IP地址是adb connect 0.0.0.0的話,把adbwireless關掉,重新啟動一下

  3. 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

具體設置方法(手機需要與電腦連接)

  1. enable adb over wifi:
    adb tcpip 5555 //在與手機相連的電腦上執行

  2. 重新連接就可以了。

注:關閉無線調試的指令為 ’adb disconnect xxx.xxx.xxx.xxx‘需要手動切換ADB的連接方式(6.0以上),如果懶得每次在手機上敲命令,可使用這個工具AirADB,直接一鍵設置,並支持開機自動設置!! 需root權限!附上AirADB的主頁面

 
AirAdb.png

參考資料

slightlywobbly/github
Android studio使用adbwireless實現WiFi調試
ADB連接手機的兩種方式
Android 網絡調試 adb tcpip 開啟方法

 


免責聲明!

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



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