Android 12环境下华硕Tinker Board(RK3399平台)Wi-Fi ADB自动重启及端口持久化配置方案咨询
Android 12环境下华硕Tinker Board(RK3399平台)Wi-Fi ADB自动重启及端口持久化配置方案咨询
太懂你这种糟心的情况了——服务器柜里的设备没法插USB物理连接,Wi-Fi一断连,ADB不仅直接失效,连端口都随机变,每次还要掏设备出来手动开,完全违背了服务器自动化的初衷。不用折腾Android Studio写Java/Kotlin app,咱们直接改系统配置就能搞定固定ADB端口+Wi-Fi断连后自动重启ADB,下面给你一步步来:
一、先把ADB网络端口固定死
首先解决端口随机变更的问题,让ADB每次启动都用同一个固定端口(比如常用的5555):
- 确保设备已获取Root权限:因为要修改系统核心文件,华硕Tinker Board的官方Android镜像可以通过
adb root命令临时获取,或者刷入对应型号的Root包实现永久Root(具体Root方法可以查Tinker Board官方社区的教程)。 - 修改系统属性文件固定端口:
- 先把系统分区挂载为可写:
mount -o rw,remount /system - 编辑
/system/build.prop文件(用vi/nano或者直接用echo追加内容):echo "service.adb.tcp.port=5555" >> /system/build.prop echo "persist.adb.tcp.port=5555" >> /system/build.prop - 这两行参数中,
service.adb.tcp.port设置当前ADB启动端口,persist.开头的是持久化参数,重启设备后依然生效。
- 先把系统分区挂载为可写:
- 备选方案:修改ADB启动脚本:
如果修改build.prop后端口还是随机,就去改ADB的启动配置文件/system/etc/init/adbd.rc,找到启动adbd的语句,添加固定端口参数:# 找到类似行,追加--port 5555参数 start adbd --port 5555
二、设置Wi-Fi断连后自动重启ADB
接下来解决Wi-Fi重连后ADB自动恢复的问题,我们可以写一个简单的监控脚本,让系统在Wi-Fi恢复时自动重启ADB服务:
编写ADB重启脚本:
创建/data/local/adb_restart.sh文件,内容如下:#!/system/bin/sh # 停止当前ADB服务 stop adbd # 等待1秒确保服务完全停止 sleep 1 # 启动ADB并指定固定端口 start adbd --port 5555给脚本添加执行权限:
chmod +x /data/local/adb_restart.sh编写Wi-Fi状态监控脚本:
创建/data/local/wifi_monitor.sh文件,用来监听Wi-Fi连接成功的日志事件,一旦检测到Wi-Fi重连就触发ADB重启:#!/system/bin/sh while true; do # 清空日志缓存,监听Wi-Fi状态机的连接成功日志 logcat -b main -c && logcat -b main -s WifiStateMachine | grep -E "CONNECTED" # 检测到连接成功后,执行ADB重启脚本 /data/local/adb_restart.sh done同样给脚本加执行权限:
chmod +x /data/local/wifi_monitor.sh设置脚本开机自启:
Android 12可以通过init服务实现开机自动启动监控脚本,步骤如下:- 创建
/system/etc/init/adbd_wifi.rc文件,内容:service adbd_wifi_monitor /system/bin/sh /data/local/wifi_monitor.sh class main user root group root disabled oneshot on boot # 开机时自动启动ADB服务(固定端口) start adbd --port 5555 # 启动Wi-Fi监控脚本 start adbd_wifi_monitor - 把系统分区改回只读(可选,但建议操作):
mount -o ro,remount /system - 重启设备后,系统会自动加载这个服务。
- 创建
三、验证配置是否生效
- 重启设备后,在电脑上执行
adb connect <你的Tinker Board IP>:5555,看是否能直接连接成功。 - 手动断开设备的Wi-Fi,等待它自动重连后,再次执行上面的连接命令,看是否不需要任何手动操作就能重新连接ADB。
注意事项
- 如果修改系统文件后重启被还原,可能是设备开启了系统分区的写保护,需要先解除写保护(不同设备方法不同,Tinker Board可以查官方文档的分区解锁教程)。
- 部分Android 12设备的系统文件可能在
/product或/vendor分区,修改前先确认文件位置。
备注:内容来源于stack exchange,提问作者Duya25446




