0x00 前言
本文对于 Harmony 的 Application 的相关的开发,得到了部分关于现在的一些坑于一些记录。特此记录,已被后续更新。
0x10 DevEco 的简单介绍
DevEco是当前的鸿蒙开发设备的应用开发部分的主要编码与编译环境。看起来和Android Studio差不多,也是使用了Intellij作为外壳的开发IDE。
所以很多的操作和插件可以通用。而且还有部分汉化插件可以使用,虽然汉化程度十分有限但是聊胜于无。
鸿蒙的应用实现可以在这里形成 编译、编码、测试、调试的所有操作。现在最新的鸿蒙SDK版本为7,可以选择直接下载。配置的操作也基本一致。
0x20 主要问题及解决方案
0x21 调试链接建立较长
当前的鸿蒙设备较少
因为DevEco这里主要是开发针对鸿蒙系统的应用的一体化应用开发软件的,所以调试很多时候需要依靠真机或者虚拟机环境,而现在的针对鸿蒙系统的手机、平板还是很少的,而且官方为了防止当前的众多设备无法带动越来越强的算力的手机、平板,所以使用了云端的类似GDB server的调试方案。由官方开启虚拟的设备供给开发者使用,所以可以在使用较小网速的资源下实现调试。
弊端
因为较长的通信链路,建立的通信调试的初始需要极大的开销,如果是某些需要在开始取得的数据几乎无法确认,笔者在这里测试了一下
上图可以确定,笔者现在测试的是P40Pro,因为官方暂时只有这个API是可以调试SDK7的设备。
可以看到,这个测试程序在i=2253005688时才会触发,而平时可能在开始时触发了。如果需要额外的一些开屏时就要的特殊操作,就必须定义一个特殊的参数,使得其在允许的生存周期可以完全命中断点。
0x22 ADB相关现象
因为笔者暂时手上也没有相关的搭载了鸿蒙系统的手机或者平板,但是当年相关的新闻让笔者突发奇想,看看笔者手上的小米11测试一下,能否实现调试。
尝试了一下,果然可以实现ADB的读取,也许现在DevEco也可以实现ADB调试呢?
但是,理想很丰满,现实很骨感。因为使用的可能是不同的SDK,IDE提示无法使用现有的平台代码。
所以暂时测试到这个时刻,以后还会有问题的话还会加更。
0x23 界面空间无法拖动
这个严格上不算是BUG,这里笔者发现DevEco对于界面的设计可能因为其依靠了Js与相关的低代码编写要求。导致笔者完全无法使用鼠标进行拖动来修改控件,也没有很直观的对于控件的显示,也就是说笔者看着这个界面一头雾水,完全不知道怎么完成一个基础界面的构建。也许这个对于完全熟悉鸿蒙开发的开发者而言无所谓,但是笔者作为刚刚使用的一个菜鸟,完全没啥办法直观的查看现在可以使用什么控件……
但是这个最多算是一个设计风格的方式,不算是个BUG,还是要看后期IDE的开发人员是否愿意增加,或者是看看有没有人增加插件的方案进行增加。
0x30总结
DevEco大体上开发与Android studio一般无二(毕竟也是一个壳子套出来的)。但是在几个小点上略有不同,也算是有一部分自己独特的竞争力了。笔者还是很期待后续的发展的。