HarmonyOS 鸿蒙Next hdc fport 无法连接webview进行调试

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

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进行调试的问题,以下是一些专业的解决方案:

  1. 确认设备版本与调试环境:确保HarmonyOS设备版本支持webview调试,并且开发环境(如DevEco Studio)已更新到最新版本。
  2. 检查权限配置:在应用中正确配置权限,特别是网络访问权限和调试权限。这通常需要在module.json5文件中添加相应的requestPermissions配置。
  3. 开启Web调试:通过setWebDebuggingAccess(true)接口开启Web组件的调试能力,并确保在组件显示时调试功能已开启。
  4. 配置端口映射:使用hdc命令查找并映射devtools端口,确保端口映射正确无误。
  5. 使用DevTools调试:在电脑端打开Chrome浏览器,输入chrome://inspect/#devices,查看并连接到设备,然后开始调试webview。
  6. 检查网络连接与设备状态:确保设备网络连接稳定,且webview加载的页面URL正确无误。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部