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

结尾

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

相关推荐
Hello__777712 小时前
开源鸿蒙 Flutter 实战|消息通知功能完整实现
flutter·开源·harmonyos
敲代码的鱼哇14 小时前
发送短信/拨打电话/获取联系人能力 UTS 插件(cz-sms)
android·前端·ios·uni-app·安卓·harmonyos·鸿蒙
Hello__777714 小时前
开源鸿蒙 Flutter 实战|仓库评论与点赞功能完整实现
flutter·开源·harmonyos
代码飞天15 小时前
harmonyOS开发之页面跳转
华为·harmonyos
ancktion15 小时前
鸿蒙开发环境配置搭建
华为·harmonyos
nashane15 小时前
HarmonyOS 6学习:加密一致性与安全存储——AES GCM排查与SaveButton实践
学习·安全·harmonyos·harmony app
liulian091617 小时前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony 音频播放功能适配与实现指南
flutter·华为·音视频·学习方法·harmonyos
KIHU快狐17 小时前
快狐KIHU|86寸落地触控一体机G+G电容屏HarmonyOS鸿蒙酒吧查询终端
python·华为·harmonyos
SuperHeroWu718 小时前
【小艺Claw】鸿蒙龙虾是什么?如何接入和使用?
华为·harmonyos·鸿蒙·jiuwenclaw·小艺claw
Lanren的编程日记18 小时前
Flutter 鸿蒙应用机器学习功能集成实战:TFLite兼容框架+模拟推理引擎,打造端侧智能体验
flutter·华为·harmonyos·推荐算法