如何通过wifi自动adb连接到设备

时间:2015-04-08 12:06:56

标签: android adb genymotion

我有一个通过wifi通过adb连接的Android设备。现在,由于某种原因,使用命令终止了adb服务器 'adb kill-server'。

重启服务器或发出命令后 'adb devices',我希望通过wifi连接的设备出现在设备列表中,就像usb连接的设备出现在列表中一样。

如何实现这一目标?我可以将设备的ipaddresses放在某个文件中,并在adb服务器重启时自动连接吗?

5 个答案:

答案 0 :(得分:0)

如果未使用USB线连接设备,则无法通过wifi自动连接设备。我开发了一个开源的IntelliJ插件尽可能快地完成这项工作。在这里你有代码https://github.com/pedrovgs/AndroidWiFiADB,这里有插件https://plugins.jetbrains.com/plugin/7983

答案 1 :(得分:0)

如果设备未首先使用USB电缆连接,无法自动通过WiFi连接您的设备,因为您需要将设备配置为侦听端口并打开连接。你可以做的是尝试使用脚本运行这些命令。

从计算机,如果您已经有USB访问(无需root)

1。对于Linux和MAC用户:

第1步:

打开终端并使用

安装adb
sudo apt-get install android-tools-adb android-tools-fastboot

第2步:

通过USB线将手机连接到PC。在终端中键入以下命令以获取设备ID:

$ adb devices

List of devices attached
LGV498b9cacc1   device
192.168.1.187:5558      device
192.168.1.184:5557      device
192.168.1.186:5556      device
192.168.1.143:5555      device

第3步:

使用上面列出的设备名称,获取Android设备的IP(如果您知道可以跳过此步骤)

$ adb -s LGV498b9cacc1 shell ip -f inet addr show wlan0

22: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.1.185/24 brd 192.168.1.255 scope global wlan0

第4步:

使用以下命令设置通信端口:

$ adb -s LGV498b9cacc1 tcpip 5559

restarting in TCP mode port: 5559

第5步:

连接到您的Android设备IP地址。

$ adb -s LGV498b9cacc1 connect 192.168.1.185:5559

connected to 192.168.1.185:5559

第6步:

验证设备是否已添加到列表中:

$ adb devices

List of devices attached
192.168.1.185:5559      device
LGV498b9cacc1   device
192.168.1.187:5558      device
192.168.1.184:5557      device
192.168.1.186:5556      device
192.168.1.143:5555      device

答案 2 :(得分:0)

不,你不能这样做,因为一旦连接到adb服务器被杀死,你必须再次建立连接。
如果您仍想自动连接而不必反复写入命令,则可以使用所有命令创建批处理/脚本文件,并在重新连接到adb设备时使其运行。

答案 3 :(得分:0)

如果您使用的是Windows操作系统,则可以创建批处理文件并添加

adb connect 192.168.1.179

请用您自己的设备IP地址替换192.168.1.179。

然后保存bat文件并将其放在启动文件夹中。

答案 4 :(得分:0)

我制作了批处理脚本,用于自动为Wifi adb桥接器设置设备,获取IP并连接到它。您只需插入设备,运行脚本,然后再次拔出设备。

Windows批处理(wifi-connect.bat):

@echo off
echo Disconnecting old connections...
adb disconnect
echo Setting up connected device
adb tcpip 5555
echo Waiting for device to initialize
timeout 3
FOR /F "tokens=2" %%G IN ('adb shell ip addr show wlan0 ^|find "inet "') DO set ipfull=%%G
FOR /F "tokens=1 delims=/" %%G in ("%ipfull%") DO set ip=%%G
echo Connecting to device with IP %ip%...
adb connect %ip%
pause

Unix(wifi-connect.sh)

#!/bin/sh 
adb disconnect
adb tcpip 5555
sleep 3
IP=$(adb shell ip addr show wlan0  | grep 'inet ' | cut -d' ' -f6| cut -d/ -f1)
echo "${IP}"
adb connect $IP