ADB服务端调试

ADB 可以通过"服务端/远程主机"方式进行调试,要看具体想实现哪种远程方式与考虑的安全性。

常见做法与命令

1) 把设备插在远程机器上,客户端控制该远程机器上的 ADB server(推荐:用 SSH 隧道)

思路:在远程主机上运行 adb server,客户端通过 SSH 隧道或把 adb client 指向远程 adb server 来控制远程设备。

在远程主机(有设备通过 USB 连接)执行:

复制代码
adb kill-server
# -a 表示监听所有接口,nodaemon 表示以前台启动(保持运行)
adb -a nodaemon server start

在本地客户端:

  • 通过 SSH 隧道(更安全):

    ssh -L 5037:localhost:5037 user@server_ip

    隧道建立后(本地 5037 转发到远程 5037),在本地运行:

    export ADB_SERVER_SOCKET=tcp:127.0.0.1:5037
    adb devices

  • 或直接指向远程 adb server(不安全,需保证网络受限):

    export ADB_SERVER_SOCKET=tcp:server_ip:5037
    adb devices

结果:adb 命令会在远程主机上执行,并列出远程主机连接的设备。

2) 直接让设备开启 TCP/IP(无线调试),从任意机器 adb connect

适合 :设备和调试机在同一局域网或设备可被直连的情况。
步骤(一次性或需要 USB):

复制代码
adb usb                 # 确保通过 USB 连接
adb tcpip 5555          # 设备切换到 TCP 模式(端口 5555)
# 在设备上查 IP,例如 192.168.1.100
adb connect 192.168.1.100:5555
adb devices

注意:在某些 Android 版本/设备上,你需要在开发者选项里启用"无线调试 / Wireless debugging"(Android 11+ 有 pairing 流程,更安全)。

3) 使用 Android Studio / Remote ADB 插件 或 云设备(Firebase Test Lab 等)

  • Android Studio 有远程调试/ADB over network 插件和"Wireless debugging"配合使用。

  • 如果不想自己搭设备,可以使用云真机平台(付费),直接在云端运行并调试。

安全与实用性建议

  • 不要把 5037 端口直接暴露到公网 (ADB 无认证,风险极高)。优先使用 SSH 隧道、VPN 或内网环境。

  • 如果需要跨公网:用 SSH 隧道或反向隧道(ssh -R/ngrok)来避免直接暴露端口。

  • 对现代 Android(Android 11+):优先使用系统的 Wireless debugging pairing 功能(带配对码,更安全)。

  • 若团队多人共享设备,建议把设备接到一台受控的"设备机房/服务器",大家通过 SSH 或内网访问这台机器的 adb server(并做好权限管理)。

小结

  • 安全 、可靠地远程控制插在一台主机上的设备:在那台主机上启动 adb server + 用 SSH 隧道ssh -L)从本地连接,并设置 ADB_SERVER_SOCKET 指向本地 127.0.0.1:5037。

  • 快速 在同一 Wi-Fi 下调试某台手机:用 adb tcpip 5555 / adb connect IP:5555 或系统的 Wireless debugging(Android 11+)。

  • 绝对避免直接把 adb server 暴露到公网端口(除非在严格受控的内网环境)。

相关推荐
Solar202520 小时前
MySQL安装避坑指南:从下载到启动的全平台避坑手册
adb
黄思搏1 天前
Python + ADB 手机自动化控制教程
python·adb
曾凡宇先生4 天前
无法远程连接 MySQL
android·开发语言·数据库·sql·tcp/ip·mysql·adb
独行soc4 天前
2025年渗透测试面试题总结-215(题目+回答)
网络·安全·web安全·adb·渗透测试·1024程序员节·安全狮
我科绝伦(Huanhuan Zhou)4 天前
MySQL一键升级脚本(5.7-8.0)
android·mysql·adb
玩机达人884 天前
2025年新版ADB工具箱下载+驱动+ADB指令集+fastboot刷机ROOT工具
adb
czhc11400756635 天前
Linux1023 mysql 修改密码等
android·mysql·adb
QT 小鲜肉5 天前
【个人成长笔记】在本地Windows系统中如何正确使用adb pull命令,把Linux系统中的文件或文件夹复制到本地中(亲测有效)
linux·windows·笔记·学习·adb
Yang-Never5 天前
ADB ->文件目录操作
adb
todoitbo6 天前
我用 TRAE 做了一个不一样的 MySQL MCP
数据库·mysql·adb·ai工具·mcp·trae·mysql-mcp