AndroidStudio上配置adb命令,實現無線真機調試

1. 配置 adb 命令

一直想在AndroidStudio的Terminal中 輸入 adb 命令,但是終究沒有嘗試。今天心血來潮想試試無線調試,可是在控制臺輸入adb devices 后,缺提示 bash: adb: command not found 。好吧,讓我來先配置一下環境變量(Mac OS 10.12.6 jdk1.8.0_121)。

1.Mac下打開終端:Launchpad -> 其他 -> 終端
2.輸入:touch .bash_profile
3.打開:open -e .bash_profile
4.保存:source .bash_profile

其中進行第3步,打開的 .bash_profile 文件,文件的路徑一定要改成你自己電腦中的具體路徑。

我電腦中配置:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

export PATH=$JAVA_HOME/bin:$PATH:/Users/xiaomi/Library/Android/sdk/tools/:/Users/xiaomi/Library/Android/sdk/platform-tools/

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

注意: PATH 變量中的 Android/sdk/tools 路徑。

執行 source .bash_profile 后,
輸入 adb 命令,可見控制臺輸出:

Android Debug Bridge version 1.0.39
Revision 5943271ace17-android

global options:
 -a         listen on all network interfaces, not just localhost
 -d         use USB device (error if multiple devices connected)
 -e         use TCP/IP device (error if multiple TCP/IP devices available)
 -s SERIAL
     use device with given serial number (overrides $ANDROID_SERIAL)
 -p PRODUCT
     name or path ('angler'/'out/target/product/angler');
     default $ANDROID_PRODUCT_OUT
 -H         name of adb server host [default=localhost]
 -P         port of adb server [default=5037]
 -L SOCKET  listen on given socket for adb server [default=tcp:localhost:5037]

general commands:
 devices [-l]             list connected devices (-l for long output)
 help                     show this help message
 version                  show version num
......

OK~ 你該明白了吧。

2. AS 中手動實現無線真機調試

無線真機調試很簡單,無需插件,無需 Root,使用插件反而會將這個流程復雜化。先放上 純流程版 ,方便閱讀之后快速查閱,

純流程版

1. 將手機與電腦連接在同一局域網內
2. 手機用線連接電腦,控制臺輸入命令adb devices, 有設備編號為連接成功
3. 拔手機線,控制臺輸入命令 adb tcpip 5555,將TCP模式在 5555 端口啟動,無任何輸出為成功啟動
4. 控制臺輸入命令 adb connect 192.168.56.101:5555
其中:192.168.56.101 為手機在局域網的 ip 地址,輸出連接成功
此時無線連接已經成功,正常調試即可

詳細版

打開 命令行終端 ,鍵入adb devices,這個命令會輸出所有連接到這臺電腦上的設備,每個設備有一個獨一無二的序列號。
見圖 :

圖片.png

進行無線連接

輸入命令adb tcpip 5555,這個命令的作用是打開手機的 TCP 模式,并且將其綁定到 5555 接口。其中,5555 端口是一個習慣使用的端口,就像 MySql 一般使用 3306 端口一樣,也可以隨意指定,只要不產生端口沖突即可。

這條命令執行后沒有任何輸出,但是手機會出現一次,類似于與電腦斷線并且重新插線的反應,代表執行成功。
打開成功之后,就可以拔掉手機數據線了。

接下來執行連接命令,但是首先我們需要進入手機 WIFI 網絡詳情,找到此時手機 WIFI 中的 IP 地址。接下來就可以執行連接命令了,連接命令為 adb connect 手機 IP 地址: TCP 綁定的端口。

例如,我手機的 IP 地址是 192.168.31.93,之前 TCP 模式綁定的端口為 5555,此時我需要執行的連接命令為 adb connect 192.168.31.93:5555
此時控制臺輸出 connected to 192.168.31.93:5555,表示無線連接成功。

無線連接.png

TCP 模式一旦開啟,只在手機重啟時才會關閉,關閉后如果還需使用需要重新開啟。斷網重連,換 WIFI,不會關閉,只要保持手機電腦在統一 WIFI 下就不需要重新開啟。

不過如果手機一旦斷網,或者切換 WIFI,與電腦的無線連接會立即斷開,如果需要重新連接,重新執行一次 adb connect 命令就好。

調試

在項目中,直接點擊 run,選擇連接的設備即可。

連接手機調試

然后,就可以開心的調試了。

3. 補充:連接多臺設備

使用adb devices 命令,可以得到一個已連接設備的序列號表,一次連接多臺設備跟連接一臺設備流程類似,通過 『序列號指定設備 』即可。

模擬器和手機同時連接.png

例如,需要進行 TCP 模式開啟,adb -s f87c75bb tcpip 5555,但是與電腦建立連接的 adb connect 命令不需要加序列號,因為 IP 地址本來就相當于是序列號了。

然后,查看手機連接的IPv4地址,比如我的是:192.168.0.200
執行 adb connect 192.168.0.200:5555

圖片.png

接下來,請開始你的調試吧。

個人整理,難免有錯誤紕漏,歡迎指正。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容