我有一个通过wifi通过adb连接的Android设备。现在,由于某种原因,adb服务器被命令'adb kill-server'杀死。
一旦我重新启动服务器或发出命令'adb devices',我希望通过wifi连接的设备出现在设备列表中,就像usb连接的设备出现在列表中一样。
怎么能实现这一目标?我可以将设备的ipaddresses放在某个文件中,并在adb服务器重启时自动连接吗?
我已经制作了批量脚本,用于自动设置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
如果未使用USB线连接设备,则无法通过wifi自动连接设备。我开发了一个开源的IntelliJ插件,尽可能快地完成这项工作。在这里你有代码https://github.com/pedrovgs/AndroidWiFiADB和这里的插件https://plugins.jetbrains.com/plugin/7983
如果设备未首先使用USB电缆连接,则无法通过WiFi自动连接设备,因为您需要将设备配置为侦听端口并打开连接。你可以做的是尝试使用脚本运行这些命令。
From a computer, if you have USB access already (NO root required)打开终端并使用安装adb
sudo apt-get install android-tools-adb android-tools-fastboot
通过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
使用上面列出的设备名称,获取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
使用以下命令设置通信端口:
$ adb -s LGV498b9cacc1 tcpip 5559
restarting in TCP mode port: 5559
连接到您的Android设备IP地址。
$ adb -s LGV498b9cacc1 connect 192.168.1.185:5559
connected to 192.168.1.185:5559
验证设备是否已添加到列表中:
$ 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
不,你不能这样做,因为一旦连接到adb服务器被杀死,你必须再次建立连接。 如果您仍希望自动连接而不必反复写入命令,则可以使用所有命令创建批处理/脚本文件,并在重新连接到adb设备时使其运行。
如果您使用的是Windows操作系统,则可以创建批处理文件并添加
adb connect 192.168.1.179
请用您自己的设备IP地址替换192.168.1.179。
然后保存bat文件并将其放在启动文件夹中。