ADB 实现手机访问电脑上运行的网站,真机调试H5网站

1. 确保准备工作完成

硬件与软件要求

检查环境

  • 在终端中运行以下命令,确认 adb 已正确安装:

    复制代码
    adb version
  • 连接手机后,运行以下命令,查看设备是否被识别:

    复制代码
    adb devices

    如果设备列表为空,请检查 USB 调试是否开启,或尝试更换数据线/USB 接口。

2. 启动本地服务

在电脑上启动你需要调试的本地服务(如 Vue 开发服务器)。假设服务运行在 localhost:8001

3. 通过 ADB 配置端口转发

使用 adb 的端口转发功能,将电脑上的本地服务映射到手机上。

命令格式

xml 复制代码
adb reverse tcp:<本地端口> tcp:<远程端口>

示例

假设你的本地服务运行在 localhost:8003,运行以下命令:

lua 复制代码
adb reverse tcp:8003 tcp:8003

这会将电脑的 8003 端口映射到手机的 8003 端口。

4. 在手机浏览器中访问

在手机浏览器中输入以下地址:

arduino 复制代码
http://localhost:8003

此时,手机会通过 adb 的端口转发访问电脑上的本地服务。

在PC端edg浏览器中输入以下地址:

bash 复制代码
edge://inspect/#devices

点击:inspect 按钮

此时会弹出与手机浏览器同步的调试页面

5. 验证连接

如果页面正常加载,说明配置成功。你可以像平常一样进行调试。


6. 注意事项

  • 端口冲突 :如果 8003 端口已被占用,可以更换为其他端口(例如 80803000)。

  • 服务绑定地址 :确保本地服务绑定到 0.0.0.0,而不仅仅是 127.0.0.1。例如,在 vue.config.js 中设置:

    yaml 复制代码
    javascript
    devServer: {
      host: '0.0.0.0',
      port: 8003
    }
  • 防火墙设置 :确保电脑的防火墙允许 adb 和开发服务器的端口通信。


7. 常见问题排查

问题 1:手机无法访问 localhost

  • 确保 adb reverse 命令已正确执行。
  • 检查本地服务是否正在运行,并且绑定到 0.0.0.0

问题 2:端口转发无效

  • 清除所有 adb 转发规则:

    lua 复制代码
    adb reverse --remove-all
  • 重新执行端口转发命令。

问题 3:USB 连接不稳定

  • 尝试更换 USB 数据线或接口。
  • 使用 adb kill-serveradb start-server 重启 adb 服务。

通过以上步骤,即使手机和电脑不在同一个网络中,也可以通过 adb 让手机访问电脑上运行的网站。

相关推荐
LlNingyu13 分钟前
文艺复兴,什么是XSS,常见形式(二)
前端·安全·xss
明君8799728 分钟前
说说我为什么放弃使用 GetX,转而使用 flutter_bloc + GetIt
前端·flutter
Jingyou30 分钟前
用 Astro 搭建个人博客:从零到上线的完整实践
前端
吴声子夜歌35 分钟前
JavaScript——call()、apply()和bind()
开发语言·前端·javascript
高桥凉介发量惊人40 分钟前
质量与交付篇(2/6):CI/CD 实战——自动构建、签名、分发
前端
leafyyuki42 分钟前
SSE 同域长连接排队问题解析与前端最佳实践
前端·javascript·人工智能
高桥凉介发量惊人42 分钟前
质量与交付篇(3/6):崩溃分析与线上问题回溯机制
前端
angerdream43 分钟前
最新版vue3+TypeScript开发入门到实战教程之路由详解三
前端·javascript·vue.js
毕设源码-郭学长1 小时前
【开题答辩全过程】以 基于Web的网上问诊系统的设计与实现为例,包含答辩的问题和答案
前端
酉鬼女又兒1 小时前
零基础快速入门前端DOM 操作核心知识与实战解析(完整汇总版)(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·js