4

鸿蒙最新IDE(DevEco Studio)绝密档案大揭秘,绝对有你不知道的东西!

 3 years ago
source link: https://blog.csdn.net/nokiaguy/article/details/117558273
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

鸿蒙最新IDE(DevEco Studio)绝密档案大揭秘,绝对有你不知道的东西!

目录

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还有很多其他功能,后期我会写文章专门介绍,敬请期待!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK