当前位置: 首页 > web >正文

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

http://www.xdnf.cn/news/17893.html

相关文章:

  • 机器学习学习报告
  • 考研408《计算机组成原理》复习笔记,第四章(2)——指令寻址和数据寻址
  • 飞算JavaAI:革新Java开发体验的智能助手
  • 19. 什么是 TypedArray
  • buildroot 简单介绍
  • LeetCode Day5 -- 二叉树
  • 【LeetCode】6. Z 字形变换
  • 【R语言】RStudio 中的 Source on Save、Run、Source 辨析
  • 热门手机机型重启速度对比
  • Vue项目生产环境性能优化实战指南
  • 相机按键功能解析
  • python学习DAY40打卡
  • Easysearch 数据迁移之 INFINI Gateway
  • 天文与航天领域专业计算库介绍
  • Java 大视界 -- Java 大数据机器学习模型在金融资产配置优化与风险收益平衡中的应用(395)
  • 使用dify搭建hr简历助手-上传简历-对接飞书ai表格
  • 八月补丁星期二:微软修复 111 个漏洞
  • Excel怎么筛选重复项?【图文详解】查找/删除重复项?查找重复项公式?如何去重?
  • 飞凌OK3568开发板QT应用程序编译流程
  • HTML5 Canvas实现数组时钟代码,适用于wordpress侧边栏显示
  • C# 反射和特性(元数据和反射)
  • pycharm配置连接服务器
  • 服务器查看 GPU 占用情况的方法
  • 室外 3DVG 基准
  • C# 多线程:并发编程的原理与实践
  • 对线面试官之幂等和去重
  • Python图像处理基础(十三)
  • Ubuntu 20.04 虚拟机安装完整教程:从 VMware 到 VMware Tools
  • 【前端八股文面试题】【JavaScript篇8】作用域链介绍?
  • VMD+皮尔逊+降噪+重构(送报告+PPT)Matlab程序