前言
折腾 Android 过程中难免遇到有关 ADB 相关的,有时候不想拿个数据线连,虽然同局域网下 Android 提供了无线调试。但最近的折腾过程中发现另一种无线调试方法的玩法,遂分享之~
下述所有操作皆默认你的 Android 已在开发者模式中开启 ADB 调试,且相关电脑设备具有 ADB 命令。
USB数据线开启
此方法需临时借助一下 USB 数据线,我们通过数据线连接 Android 设备与电脑,先使用 ADB Shell 命令查看一下 Android 设备 IP 地址并将其记住:
adb shell ifconfig
接下来执行如下 ADB 命令:
adb tcpip 5555
此时 Android 设备的 ADBD 进程将在 5555 端口监听服务,此时电脑端再使用 ADB 命令进行连接即可:
adb connect [IP]:5555
若是在局域网,此时可将 USB 数据线拔掉进行相关连接操作。后续恢复成 USB 调试则使用如下命令:
adb usb
此方法可以在 Android 设备与电脑在一个局域网内使用,以及你的 Android 设备共享热点给你电脑使用情况下,此时 IP 地址可以填写对应热点的网关地址。
终端命令开启
此方法无需借助数据线,但 Android 设备上需具有类似“终端模拟器”等可以操作 Shell 命令的工具。
注:此方法需 Android 设备具有 Root 权限!
开启命令如下:
setprop service.adb.tcp.port 5555
然后再重启 ADBD 服务:
stop adbd
start adbd
电脑端尝试效果如下:
且后续我们使用过程中若不再需要如此远程调试,可再将其切换为 USB 调试方式,命令如下:
setprop service.adb.tcp.port -1
值 -1
表示开启 ADBD 的 USB
调试功能,然后再重启 ADBD 服务:
stop adbd
start adbd
此方法也是个人一直在用的方式之一。上述两种方法不论哪种,设备在重启后皆会失效!
因此给大家一段 Shell 函数脚本吧:
adbfi(){
ROOT= && [ $USER = root ] || ROOT="su -c"
case $1 in
on) $ROOT setprop service.adb.tcp.port 5555
$ROOT stop adbd
$ROOT start adbd
echo "ADB over WiFi enabled";;
off) $ROOT setprop service.adb.tcp.port -1
$ROOT stop adbd
$ROOT start adbd
echo "ADB over WiFi disabled";;
stats) case `getprop service.adb.tcp.port` in -1) echo "off";; 5555) echo "on";; *) echo "off";; esac;;
*) echo "Usage: adbfi [option]"
echo " "
echo "Options:"
echo " on - Enables ADB over Wifi"
echo " off - Disables ADB over WiFi"
echo " stats - Gets current status";;
esac
}
将上述函数保存到相关环境设置的配置文件中,使用时直接 adbfi on
命令开启即可。
小结
本方法也是个人日常连接 ADB 时的小分享。此方法有个好处,即:Android 设备内的 adbd
进程在 5555 端口上监听服务,我们可以将 5555 端口使用如 FRP 工具映射出去(流量选择 TCP),此时可通过 公网+映射的端口
方式连接。从而哪怕不在局域网内,也可以直接使用 ADB 工具远程连接。
具体使用过程中因人而异,端口映射至公网可能存在安全风险,使用时务必做好安全防范!