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 暴露到公网端口(除非在严格受控的内网环境)。

相关推荐
鸽芷咕2 天前
MySQL Server 鸿蒙 PC 适配全记录:以混合工具链完成 C++23 交叉编译与 HNP 交付
adb·harmonyos·c++23
游戏开发爱好者85 天前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
实心儿儿5 天前
MySQL 的安装
数据库·mysql·adb
2601_962300475 天前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
flower_drop7 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
蜡台7 天前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
leoZ2317 天前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb
2501_915921437 天前
抓包工具对比:Charles、TraceEagle、Wireshark、Fiddler 与 Proxyman
网络协议·计算机网络·网络安全·ios·adb·https·udp
秋不溜啾7 天前
三星手机网络连接ADB和关闭自动更新
adb·安卓
没文化的阿浩8 天前
【MySQL】用户管理
android·mysql·adb