鸿蒙Flutter实战:04-如何使用DevTools调试Webview
1.flutter 鸿蒙适配指南2.鸿蒙Flutter实战:08-如何调试代码3.鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙4.鸿蒙Flutter实战:07混合开发5.鸿蒙Flutter实战:02-Windows环境搭建踩坑指南
6.鸿蒙Flutter实战:04-如何使用DevTools调试Webview
7.鸿蒙Flutter实战:05-使用第三方插件8.鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件9.鸿蒙Flutter实战:01-搭建开发环境10.鸿蒙Flutter实战:03-鸿蒙Flutter开发中集成Webview11.鸿蒙Flutter实战:10-常见问题集合12.鸿蒙Flutter实战:11-使用 Flutter SDK 3.22.013.鸿蒙Flutter实战:12-使用模拟器开发调试14.鸿蒙Flutter实战:13-鸿蒙应用打包上架流程15.鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II鸿蒙 Flutter 如何使用 DevTools 调试 Webview
在《鸿蒙 Flutter 开发中集成 Webview》,介绍了如果在 Flutter 中集成 Webview. 本文则为 Webview 的调试方法。
配置 Webview
CustomView.ets 文件中,在生命周期aboutToAppear处配置允许调试:
aboutToAppear() {
webview.WebviewController.setWebDebuggingAccess(true);
}
找到 devtools 的端口
运行 App,使用 hdc 命令连接设备,查找相关端口
# 连接设备
hdc shell
# 找到相关进程
cat /proc/net/unix | grep devtools
#0: 00000002 0 10000 1 1 2318187 @webview_devtools_remote_43406
#0: 00000002 0 10000 1 1 20785 @webview_devtools_remote_6312
如上面所示,webview_devtools_remote_43406 即为我们要调试的页面
开启端口转发
将设备中的端口转发到开发电脑上
hdc fport tcp:9222 localabstract:webview_devtools_remote_43406
# Forwardport result:OK
在 Chrome 中找打 Webview 并开始调试
在 Chrome 中打开 chrome://inspect/#devices
页面,观察页面中RemoteTarget 处出现了相关页面
选择需要调度的页面,点击 inspect,弹出 DevTools 窗口,开启页面调度
其他
如果要在 Webview 注入 js 代码,可在 Web 组件配置处使用runJavaScript
方法注入 JavaScript 脚本,如
Web({src: 'https://baidu.com', controller: this.webviewController})
.domStorageAccess(true)
.fileAccess(true)
.mixedMode(MixedMode.All)
.databaseAccess(true)
.javaScriptAccess(true)
.onPageEnd(() => {
this.webviewController.runJavaScript("document.querySelector('meta[http-equiv=\"Content-Security-Policy\"]').remove()");
})
参考资料
合集:
鸿蒙 Flutter 实战
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效