HarmonyOS应用开发 - 工具记录

HarmonyOS应用开发是目前是最火、最有前景的方向,现在入门鸿蒙开发还来得及。鸿蒙开发官网:developer.huawei.com/consumer/cn

大家好,我是德莱问,前端太卷了,已经卷不动了,现在换个方向,卷鸿蒙吧。此次记录一下鸿蒙开发中使用到的几个命令,以备后面使用的时候可以快速找到。

开发环境搭建

如果你之前是做前端的话,下载工具后,按照步骤即可完成环境适配,记得一定要搞一个开发机,现在的preview是完 全不同于前端的,可以理解为基本不能用。

工具下载地址:developer.huawei.com/consumer/cn...

概念普及

  • 依赖管理:ohpm,可以理解为前端的pnpm;
  • 开发语言:现在开发语言使用的是arkts,可以理解为typescript
  • UI框架:arkui,属于flutter语法。

其实从上面来看,鸿蒙开发对于前端来说还是比较友好的,一些概念性的东西可以直接应用到鸿蒙开发上面。当然客户端的一些东西就要从头学习一下啦。

获取设备的uuid

华为开发过程中需要使用到开发机,获取开发机的uuid后,添加到白名单中,即可实现无需签名就可以使用开发机,构建应用啦。连接手机设备到电脑后执行以下命令获取到开发机的uuid:

hdc shell bm get --udid

前端页面的开发调试

客户端开发中,肯定少不了WebView的实现,如何对前端页面进行inspect呢?命令如下:

1、启动设备,即编译安装app

2、执行:hdc shell

3、获取进程:cat /proc/net/unix | grep devtools,此时会获取到一个id。

4、连接设备:hdc fport tcp:9222 localabstract:webview_devtools_remote_【id】

5、查看连接状态:hdc fport status

6、打开Chrome浏览器,输入:chrome://inspect/#devices,点击对应的页面进行inspect即可。

7、记得WebView创建的时候要设置domStorageAccess属性为true,不然使用到LocalStorage的地方会直接报错。

组件WebView的一个bug

客户端开发过程中,肯定使用到抓包,华为抓包是需要指定一个caPath 的,即https请求的证书地址。 无论是使用华为提供的http包,还是使用@ohos/axios包,都是支持配置capath的。所以我们可能会封装一个request模块,去统一发起网络请求,这个时候在request模块里面直接写死caPath即可。

WebView的官方使用文档:developer.huawei.com/consumer/cn...

当我们使用 WebView 的时候,打开页面后,页面里面肯定会有其他的一些网络请求,而且现在网络请求基本都是https的网络请求,但是无法指定其网络请求发起时的caPath,所以网页里面的所有网络请求都会请求失败。

解决办法:

  • 当抓包的时候,别打开WebView
  • 当打开WebView的时候,别抓包,直接使用上面的inspect进行网页调试。

等华为修复后可能就好了。创建WebView的时候支持传递caPath进去。

结尾

欢迎关注公众号【丶德莱问】。

相关推荐
心中有国也有家6 小时前
AtomGit Flutter 鸿蒙客户端:初始化流水线
学习·flutter·华为·harmonyos
在书中成长6 小时前
HarmonyOS 小游戏《对战五子棋》开发第30篇 - TwoPlayerPage双人对战(二):状态栏与玩家指示器
harmonyos
爱吃大芒果6 小时前
ArkUI V2 状态管理极简教程,手写待办清单 Demo
华为·harmonyos
ujainu小7 小时前
帧率协议栈:13变量揭秘60Hz性能分析
华为·harmonyos
花开彼岸天~15 小时前
15 Button 组件与交互反馈设计:按压动画与呼吸脉冲
华为·交互·harmonyos·鸿蒙系统
ZZZMMM.zip20 小时前
基于鸿蒙HarmonyOS NEXT开发AI英语口语应用:智能口语练习新体验与鸿蒙Flutter框架跨端实
人工智能·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
心中有国也有家21 小时前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
最爱老式锅包肉21 小时前
《HarmonyOS技术精讲-ArkGraphics 2D(方舟2D图形服务)》第九篇:数据可视化——柱状图与饼图的绘制实战
华为·信息可视化·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
绝世番茄1 天前
登录表单布局:从 Column 到完整表单 —— 鸿蒙 HarmonyOS ArkTS 原生学习指南
华为·list·harmonyos·鸿蒙