0x00 前言

本文对于 Harmony 的 Application 的相关的开发,得到了部分关于现在的一些坑于一些记录。特此记录,已被后续更新。

0x10 DevEco 的简单介绍

DevEco是当前的鸿蒙开发设备的应用开发部分的主要编码与编译环境。看起来和Android Studio差不多,也是使用了Intellij作为外壳的开发IDE。

DevEco选择java开发 deveco ide_华为

所以很多的操作和插件可以通用。而且还有部分汉化插件可以使用,虽然汉化程度十分有限但是聊胜于无。

鸿蒙的应用实现可以在这里形成 编译、编码、测试、调试的所有操作。现在最新的鸿蒙SDK版本为7,可以选择直接下载。配置的操作也基本一致。

0x20 主要问题及解决方案

0x21 调试链接建立较长

当前的鸿蒙设备较少

因为DevEco这里主要是开发针对鸿蒙系统的应用的一体化应用开发软件的,所以调试很多时候需要依靠真机或者虚拟机环境,而现在的针对鸿蒙系统的手机、平板还是很少的,而且官方为了防止当前的众多设备无法带动越来越强的算力的手机、平板,所以使用了云端的类似GDB server的调试方案。由官方开启虚拟的设备供给开发者使用,所以可以在使用较小网速的资源下实现调试。

弊端

因为较长的通信链路,建立的通信调试的初始需要极大的开销,如果是某些需要在开始取得的数据几乎无法确认,笔者在这里测试了一下

DevEco选择java开发 deveco ide_ide_02

上图可以确定,笔者现在测试的是P40Pro,因为官方暂时只有这个API是可以调试SDK7的设备。

DevEco选择java开发 deveco ide_harmonyos_03

可以看到,这个测试程序在i=2253005688时才会触发,而平时可能在开始时触发了。如果需要额外的一些开屏时就要的特殊操作,就必须定义一个特殊的参数,使得其在允许的生存周期可以完全命中断点。

0x22 ADB相关现象

因为笔者暂时手上也没有相关的搭载了鸿蒙系统的手机或者平板,但是当年相关的新闻让笔者突发奇想,看看笔者手上的小米11测试一下,能否实现调试。

尝试了一下,果然可以实现ADB的读取,也许现在DevEco也可以实现ADB调试呢?

DevEco选择java开发 deveco ide_华为_04

但是,理想很丰满,现实很骨感。因为使用的可能是不同的SDK,IDE提示无法使用现有的平台代码。

DevEco选择java开发 deveco ide_ide_05

所以暂时测试到这个时刻,以后还会有问题的话还会加更。

0x23 界面空间无法拖动

这个严格上不算是BUG,这里笔者发现DevEco对于界面的设计可能因为其依靠了Js与相关的低代码编写要求。导致笔者完全无法使用鼠标进行拖动来修改控件,也没有很直观的对于控件的显示,也就是说笔者看着这个界面一头雾水,完全不知道怎么完成一个基础界面的构建。也许这个对于完全熟悉鸿蒙开发的开发者而言无所谓,但是笔者作为刚刚使用的一个菜鸟,完全没啥办法直观的查看现在可以使用什么控件……

但是这个最多算是一个设计风格的方式,不算是个BUG,还是要看后期IDE的开发人员是否愿意增加,或者是看看有没有人增加插件的方案进行增加。

0x30总结

DevEco大体上开发与Android studio一般无二(毕竟也是一个壳子套出来的)。但是在几个小点上略有不同,也算是有一部分自己独特的竞争力了。笔者还是很期待后续的发展的。