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进去。

结尾

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

相关推荐
花花_16 小时前
HarmonyOS 7 网络与数据实战 10|把数据层真正拆出来
华为·harmonyos
donk13149 小时前
React Native for OpenHarmony 实战:三方库 react-native-step-indicator 的鸿蒙化适配指南
分布式·react native·react.js·wpf·harmonyos
贾伟康10 小时前
【化学实验室|07】HarmonyOS ArkTS 知识全局搜索实战:实现跨知识点、公式与阅读内容的本地检索
harmonyos·arkts·arkui·本地搜索·化学知识
马剑威(威哥爱编程)11 小时前
【共创稿事节】HarmonyOS 7 Agent 开发实战 08:结构化输出解析
华为·harmonyos
donk131411 小时前
React Native for OpenHarmony 实战:三方库 react-native-segmented-control-tab 的鸿蒙化适配指南
javascript·react native·react.js·华为·harmonyos
360智汇云12 小时前
鸿蒙开发中如何实现画中画
华为·harmonyos
donk131414 小时前
React Native for OpenHarmony 实战:三方库 react-native-toast-message 的鸿蒙化适配指南
react native·react.js·音视频·harmonyos
Flutter_OH14 小时前
Flutter OHOS Dart 堆栈符号化
harmonyos
Flutter_OH14 小时前
Flutter OHOS Flutter 多设备自适应 DPI 指导文档
harmonyos
SuperHeroWu715 小时前
【HarmonyOS 7】 应用 Agent 接入云 A2A 与端 A2A 的实践详解
ai·harmonyos·小艺