HarmonyOS 鸿蒙Next hdc fport 无法连接webview进行调试
HarmonyOS 鸿蒙Next hdc fport 无法连接webview进行调试
hdc fport 无法连接webview进行调试
2 回复
5.0配套版本中web组件需要和aboutToAppear(): void {webview.WebviewController.setWebDebuggingAccess(true);}写在一块才能成功映射,当前可以将web组件封装到一个HSP或者一个类中,在里面写上setWebDebuggingAccess(true)即可映射成功
import { UIContext } from '[@ohos](/user/ohos).arkui.UIContext';
import { NodeController, BuilderNode, FrameNode } from '[@ohos](/user/ohos).arkui.node';
import webview from '[@ohos](/user/ohos).web.webview';
webview.WebviewController.setWebDebuggingAccess(true);
declare class Params {
text: string
}
[@Builder](/user/Builder)
function buttonBuilder(params: Params) {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.SpaceEvenly }) {
Web({
src: "https://news.baidu.com/",
controller: new webview.WebviewController()
})
}
.height('100%')
.width('100%')
}
class MyNodeController extends NodeController {
private rootNode: BuilderNode<[Params]> | null = null;
private wrapBuilder: WrappedBuilder<[Params]> = wrapBuilder(buttonBuilder);
makeNode(uiContext: UIContext): FrameNode | null {
if (this.rootNode === null) {
this.rootNode = new BuilderNode(uiContext);
this.rootNode.build(this.wrapBuilder, { text: "This is a Text" })
}
return this.rootNode.getFrameNode();
}
}
[@Entry](/user/Entry)
[@Component](/user/Component)
struct webPage {
private baseNode: MyNodeController = new MyNodeController()
aboutToAppear(): void {
webview.WebviewController.setWebDebuggingAccess(true);
}
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceEvenly }) {
Text("This is a NodeContainer contains a webView")
.fontSize(9)
.fontColor(0xCCCCCC)
NodeContainer(this.baseNode)
.borderWidth(1)
.onClick(() => {
console.log("click event");
})
}
.padding({ left: 35, right: 35, top: 35 })
.height('90%')
.width('90%')
}
}
需要先在手机端运行应用,不要杀掉进程;获取进程id,再按照文档步骤(参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-debugging-with-devtools-V5)操作完成,手机端页面需要在配置Web开启调试模式setWebDebuggingAccess(true)的页面上,不要锁屏,在Chrome浏览器地址栏中输入chrome://inspect/#devices,等待几秒,页面会出现Remote Target列表,点击运行即可
针对HarmonyOS 鸿蒙Next hdc fport无法连接webview进行调试的问题,以下是一些专业的解决方案:
- 确认设备版本与调试环境:确保HarmonyOS设备版本支持webview调试,并且开发环境(如DevEco Studio)已更新到最新版本。
- 检查权限配置:在应用中正确配置权限,特别是网络访问权限和调试权限。这通常需要在module.json5文件中添加相应的requestPermissions配置。
- 开启Web调试:通过setWebDebuggingAccess(true)接口开启Web组件的调试能力,并确保在组件显示时调试功能已开启。
- 配置端口映射:使用hdc命令查找并映射devtools端口,确保端口映射正确无误。
- 使用DevTools调试:在电脑端打开Chrome浏览器,输入chrome://inspect/#devices,查看并连接到设备,然后开始调试webview。
- 检查网络连接与设备状态:确保设备网络连接稳定,且webview加载的页面URL正确无误。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。