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进去。
结尾
欢迎关注公众号【丶德莱问】。