惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
T
Tailwind CSS Blog
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
P
Proofpoint News Feed
博客园_首页
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
AI
AI
云风的 BLOG
云风的 BLOG
有赞技术团队
有赞技术团队
SecWiki News
SecWiki News
Google Online Security Blog
Google Online Security Blog
W
WeLiveSecurity
V
V2EX
K
Kaspersky official blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Security Latest
Security Latest
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
大猫的无限游戏
大猫的无限游戏
G
GRAHAM CLULEY
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Recent Announcements
Recent Announcements
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
博客园 - 司徒正美
V
Visual Studio Blog
L
Lohrmann on Cybersecurity
C
Cisco Blogs
A
About on SuperTechFans
N
News | PayPal Newsroom
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
罗磊的独立博客
A
Arctic Wolf
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Secure Thoughts
AWS News Blog
AWS News Blog
TaoSecurity Blog
TaoSecurity Blog
T
Tenable Blog
Engineering at Meta
Engineering at Meta

博客园 - 蓓蕾心晴

语雀思维导图如何导入到飞书文档 js 实现点击触发复制口令到剪贴板,并跳转 css 背景模糊在真机测试会出现黑色蒙层闪现问题解决 vscode左侧搜索栏搜索时排除不参与搜索的文件夹 css动画已经执行过一次如何再次执行? vscode设置单击选中带连字符的单词 移动端盒子元素实现左右可滑动且竖向页面可滑动 js 判断设备类型包括异形屏 element ui 日期组件实现仅显示日期选择但值包含固定的时间 master远端代码更新,本地拉取不到 css 实现刘海屏样式兼容并支持 js 获取刘海屏高度后动态修改 css 判断在支持某些属性的情况下再添加样式 vue3 provide的值 在回调函数中改变,inject 如何获取到最新的值? vue3如何将 app 全局变量对象变为响应式并监听到某个属性的改变 ResizeObserver loop completed with undelivered notifications. 报错 git 修改本地仓库的远程仓库地址 git突然无法推送到远程仓库 css实现图片等比例完全展示,背景加图片 200%放大虚化 element-ui 使用 el-date-picker 如何限制时间选择范围? element-ui 使用 el-date-picker 如何监听数据变更?
华为鸿蒙手机通过Chrome DevTools调试App内WebView页面
蓓蕾心晴 · 2026-01-07 · via 博客园 - 蓓蕾心晴

📱 第一步:设备与基础环境准备

在开始之前,请确保手机和电脑端已做好基础准备。

准备事项

具体操作

手机端

进入 设置 > 关于手机,连续点击“版本号”7次开启开发者模式。然后进入 设置 > 系统和更新 > 开发人员选项,开启 “USB调试”

电脑端 (Mac)

确保已安装 DevEco Studio。HDC工具通常随其安装,路径为 /Applications/DevEco-Studio.app/Contents/sdk/.../toolchains/。请参考你之前成功配置的经验,在终端使用 hdc -h 验证命令可用。

⚙️ 第二步:应用工程配置(关键)

这是开启WebView调试权限的核心,必须在你的鸿蒙应用源代码中完成。

  1. 代码中启用调试
    在你的WebView所属的ArkTS文件(如Entry.ets)中,导入模块并开启调试开关。
import web_webview from '@ohos.web.webview';
// 在合适的生命周期函数中调用,例如 aboutToAppear
web_webview.WebviewController.setWebDebuggingAccess(true);
  1. 配置网络权限
    在项目的 module.json5 配置文件中,添加网络权限。
"requestPermissions": [
  {
    "name": "ohos.permission.INTERNET"
  }
]

完成以上两步后,请务必重新编译并安装应用到你的鸿蒙手机。

🔌 第三步:连接手机并映射调试端口

现在,通过HDC命令建立手机和Chrome之间的调试桥梁。

  1. 连接设备:使用USB数据线连接手机和Mac。在终端执行 hdc list targets,确认设备已连接。
  2. 查询调试端口:需要获取你应用中WebView进程的唯一标识。
# 进入设备Shell
hdc shell
# 查找WebView调试进程
cat /proc/net/unix | grep devtools

成功后,会显示类似 webview_devtools_remote_38532 的结果,末尾的数字(如38532)就是进程PID,请记下。

  1. 执行端口映射:退出Shell(输入 exit),执行以下命令进行端口转发(请将 38532 替换为你的实际PID)。
hdc fport tcp:9222 localabstract:webview_devtools_remote_38532

🛠️ 第四步:在Chrome DevTools中调试

现在,你可以在电脑端的Chrome浏览器中进行调试了。

  1. 在Chrome地址栏输入:chrome://inspect/#devices
  2. 确保 “Discover network targets” 被勾选,并点击其旁的 “Configure…” 按钮,添加 localhost:9222
  3. 稍等片刻,页面下方 “Remote Target” 区域会显示出你的手机和其中可调试的WebView页面。
  4. 点击你想要调试的页面下方的 “inspect” 按钮,就会弹出一个完整的Chrome开发者工具窗口,你可以像调试普通网页一样进行元素检查、网络监控、控制台调试等操作。

💡 常见问题与技巧

  • 查询不到端口:如果 cat /proc/net/unix | grep devtools 没有输出,请确认:1) 应用代码中的 setWebDebuggingAccess(true) 已执行且应用已重装;2) 可尝试执行 hdc shell param set web.debug.devtools true 全局开启调试;3) 确保鸿蒙系统为4.1.0或以上版本。
  • Chrome中看不到设备:检查端口映射命令的PID是否正确;确认Chrome中已正确配置 localhost:9222
  • 安全提示setWebDebuggingAccess(true) 务必仅用于开发调试,在发布应用前需要关闭此功能。
  • 进程变化:如果应用重启,WebView的PID可能会改变,需要重新执行第三步的查询和端口映射

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=dd4qxupt8clk