adb這點小事——遠程adb調試


歡迎轉載。轉載請注明:http://blog.csdn.net/zhgxhuaa

1.   前言

1.1.  寫在前面的話

在之前的一篇文章《360電視助手實現研究》中介紹了在局域網內直接通過adb安裝應用,本文接下來繼續介紹adb一點有意思的小東東。本系列之所以取名《adb的那點小事》是由於,僅僅想介紹一些有意思的並且平時大多數人關注不多的方面,類似於“adb原理、“adb怎樣使用之類的老生常談不在本文的介紹范圍內。

言歸正傳,本文介紹的內容是:在局域網內,假設進行adb遠程調試,即:在沒有數據線的情況下。怎樣在局域網內使用adb開發。

1.2.  本文的背景

作為一名Android程序猿。每天接觸最多的就是eclipseadb了。

在開發的過程中,這幾種場景我們應該並不陌生:

A.        手機正在測試同學手中,可是我們想要抓log。那么接下來會有兩種選擇:

a)         讓測試的同學幫忙抓log。但可能抓不到自己想要的;

b)         讓測試同學把手機送過來,或者自己去取,但須要浪費至少10幾分鍾。

B.        電腦連接一台剛才其它同學(開發或測試)手機拿過來的機器。那么接下來可能須要等待幾分鍾的時間來安裝手機驅動。

C.         長時間的使用,adb數據線損壞或者不太靈敏

那么有沒有一種好的辦法能夠解決上述問題呢?本文接下來將做一個探討。

 

2.   技術實現研究

2.1.  遠程調試的原理

要了解為什么能夠遠程調試,首先還是要簡單的說一下adb的原理。我們平時所說的adbAndroid中是被實現為一種C/S結構的。當中Server端被稱為adbd,也即adb守護進程,該進程執行在手機中。對於C/S結構的命令的執行響應過程。大家應該都比較熟悉。不再做介紹。這里繼續說一下adbdadbd提供了兩種監聽client請求的方式:USBTCP/IP。當中USB方式是系統的默認監聽方式。

所以,結合《360電視助手實現研究》中的介紹,接下來我們應該怎么做就比較明顯了:

1.         首先,設置手機的adbdTCP/IP方式;

2.         其次,設置adbd監聽某一特定的port;

3.         最后,在遠程(電腦上)通過adb connect連接到手機。

通過以上三部。我們就能夠遠程adb調試和打印log了。

接下來將介紹詳細的實現,及須要注意的一些問題。

 

2.2.  詳細技術實現

要實現adb遠程調試,首先須要手機具有root權限。能夠通過以下的代碼進行簡單的推斷:

 

在推斷手機具有暫時root權限后,接下來就是設置adbd監聽的port和重新啟動adbd使port生效了,代碼例如以下:

在默認情況下adbd監聽的port為“5555”。這里能夠依據須要(比方5555是否被占用)進行改動。

 

在完畢上一部的操作后,能夠到手機設置->WLAN->當前正在使用的wifi熱點的信息中查看IP信息。也能夠通過以下的方法獲取:

 

接下來就能夠在電腦上的cmd下通過“adb connect”連接剛才的IP。進行遠程adb的調試了,假設成功會顯示“connected to xxxxx”;連接失敗則提示”unable to connect to xxxxx”,以下是我電腦操作的截圖:

 

最后,在遠程調試完畢后,記得將手機adb恢復到usb模式:

 

行,在這里,本文介紹了,有環境問題的討論和交流。

版權聲明:本文博客原創文章。博客,未經同意,不得轉載。


免責聲明!

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



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