[原]鸿蒙最新IDE(DevEco Studio)绝密档案大揭秘,绝对有你不知道的东西!
2021-06-04 14:34:50 Author: blog.csdn.net(查看原文) 阅读量:245 收藏

目录

1. 分布式远程模拟器

2. 本地模拟器

3. 改变了创建工程的方式

4. 原子化服务

5. 学习的好帮手:Samples

6. 应用自签名


公元2021年6月2日,鸿蒙系统迎来了第2次开源,同时,用于开发鸿蒙App的DevEco Studio也迎来了重大的更新,这次更新是具有里程碑意义的,因为增加了很多非常牛叉的功能,而且编译速度得到了显著的提升。尤其是分布式模拟器,可以在无需真机的情况下开发分布式鸿蒙App。本文将深入讲解DevEco Studio推出的一些核心特性。

1. 分布式远程模拟器

分布式远程模拟器是新版DevEco Studio中最值得使用的功能。以前的远程模拟器只能测试单机和网络应用,而鸿蒙的分布式特性却只能用真机测试。而分布式远程模拟器允许同时创建两个远程模拟器(P40+P40或P40+MatePad Pro),这两个远程模拟器可以互相访问,利用相关的分布式API可以获取另一个的设备ID,所以可用来开发分布式鸿蒙App。

在默认情况下,分布式远程模拟器是不开启的。要想开启该功能,进入IDE的设置窗口,点击左侧树的DevEco Labs,在右侧选中Enable Super Device复选框即可,如下图所示。

然后点击Tools > Device Manager菜单项,就会打开HarmonyOS Virtual Device Manager窗口(需要先登录华为开发者网站),如下图所示。

最下面会出现一个Super device节点,里面有两种组合方式:P40+P40和P40+MatePad Pro,选中一种组合方式即可。

搞定后,就会在IDE主窗口右侧出现两个模拟器,如下图所示。他们的端口号分别是18888和18889。

执行hdc list targets命令,会显示如下两个设备:

127.0.0.1:18888 device 127.0.0.1:18889 device

如果嫌模拟器窗口太小,可以直接用scrcpy远程投屏,命令行如下:

scrcpy -s 127.0.0.1:18888

投屏后的效果如下图所示,这样可以拥有一个独立窗口的远程模拟器。

现在可以运行一个支持分布式的App,如下面的应用可以获取网内其他的设备,目前只获得一个设备,就是双模拟器中的另外一个。

2. 本地模拟器

尽管远程模拟器使用起来非常方法,而且占用资源少,但却有如下2个缺点:

(1)使用远程模拟器,必须联网,这对于没有网络环境或网络环境不好的用户并不友好;

(2)由于网络的差异,远程模拟器可能会反应比较迟钝,用户体验并不好;

基于以上两个缺点,最新版DevEco Studio还推出了本地模拟器,也就是将HarmonyOS安装在本地虚拟环境中,这样运行效率得到了很大提升。

想使用本地模拟器,可以在DevEco Labs中打开Enable Local Emulator选项,如下图所示。

然后在设备管理里就会看到Local Emulator标签页,如下图所示。不过目前本地模拟器的镜像还没有放出,稍后华为会开放这些镜像,用户可以点击Install按钮进行下载。等本地模拟器发布时,我再写文章详细讲解。

3. 改变了创建工程的方式

新版IDE改变了创建工程方式,首先要求选择模板,如下图所示。

在这个模板中增加了11个跨设备模板,如下所示。

下一步,会要求选择模板适用的设备,如下图所示。根据选择模板的不同,下方会出现该模板适用的所有可选设备,如果不适用,就不会显示。

4. 原子化服务

上面窗口中大多数都是一些常规的设置。这里要提一下Project Type。这里有两个选项:Service和Application。其中Application就是普通的App,无需多介绍。而Service是原子化服务App。Service App安装后,在桌面上是没有图标的。而且app的尺寸要限制在10MB以内,上传华为应用市场,通过某些条件(如跨设备流转),会自动从华为应用市场下载并安装(用户完全无感知)。

而且创建原子化服务,会自动创建一个卡片,如下图所示。

如果选中最后的Show in Service Center复选框,就会在鸿蒙的服务中心显示。

通过从手机屏幕左下角向右上方滑动进入服务中心。

现在按下面的样式修改string.json文件。

接下来在模拟器或手机上运行,然后进入服务中心,输入FirstAtomApp,就会看到这个程序,如下图所示。其实这就是App中的卡片。

然后点击,会弹出与其关联的Ability,如下图所示。不过,Service类型的App是没有图标的,所以只能从服务中心搜索启动,或者满足某些条件才能启动,如数据流转,NFC等。

5. 学习的好帮手:Samples

鸿蒙有一个CodeLabs(看下面的页面),但里面的例子有点大,所以IDE提供了很多samples(相对较小)。

CodeLabs地址:

https://developer.harmonyos.com/cn/develop/codelabs/

导入samples,有两种方式。

方式1,在欢迎界面(如下图所示),点击Import HarmonyOS Sample。

然后会弹出下面的窗口,选择其中一个,点击Next按钮,按提示操作即可导入特定的Sample。

方式2:在IDE里,点击File > New > Import HarmonyOS Sample菜单项,也会弹出上的Import HarmonyOS Sample窗口。

其实Samples并不是直接打开工程,而是从gitee(码云)拉的,这些案例也可以从下面的页面中获取。

https://gitee.com/openharmony/app_samples/tree/master

6. 应用自签名

我们知道,HarmonyOS App在部署到真机上时需要签名,在以前,都需要到AppGallery Connect生成一些用于签名的配置文件,然后进入Project Structure窗口,完成如下图所示的配置。

在新版的IDE中,提供了一个Automatically generate signing复选框,选中该复选框,并在AppGallery Connect上创建一个与当前工程相同包名的应用,就可以自动产生相关的签名文件,效果如下图所示。

不过使用自动签名要注意如下2点:

(1)必须有鸿蒙设备连接到PC(通过USB或远程连接都可以)

(2)与PC连接的所有设备必须都是鸿蒙设备,不能有Android设备。当然,Apple设备没问题

如果有Android设备同时连接到PC上,在自动签名时会抛出如下异常:

出错的原因是系统会签名所有的物理设备,目前并没有判断是鸿蒙设备,还是Android设备。所以如果遇到Android设备,也会签名。Android设备当然无法成功对HarmonyOS App签名了,所以就会导致签名失败(只要有一台设备签名失败,所有的设备签名都会失败)。

当然,新版IDE还有很多其他功能,后期我会写文章专门介绍,敬请期待!


文章来源: https://blog.csdn.net/nokiaguy/article/details/117558273
如有侵权请联系:admin#unsafe.sh