Hello HarmonyOS!:鸿蒙应用开发从入门到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.4 模拟器运行

本节介绍如何将 HarmonyOS 程序运行到模拟器上。目前,华为为开发者提供了远程模拟器,可以供开发者在线调试运行程序。远程模拟器为华为后台服务器使用虚拟化技术运行的 HarmonyOS。应用在模拟器中运行不需要签名,可直接运行。

在 1.4.1 节中,已经新建好了项目。在DevEco Studio 的菜单栏中选择“Tools”→“Device Manager”选项(如图1-52所示),之后弹出HarmonyOS Device Manager页面,在这里可以选择要启动的模拟器。目前包含两类设备:远程模拟器和远程真机。不论用哪种设备,都需要登录华为账号。

在首次打开HarmonyOS Device Manager时,会提示下载模拟器所需要的资源文件。

图1-52 “Device Manager”选项

打开HarmonyOS Device Manager,点击“Login”后(如图1-53所示),页面会自动跳转到华为账号登录页面,输入账号和密码,进行登录,会提示是否允许HUAWEI DevEco Studio访问你的账号,点击“允许”按钮,如图1-54所示。之后,DevEco Studio中的HarmonyOS Device Manager会接收到授权,可以开始选择相应的设备模拟器。这里选择远程模拟器,模拟器不需要签名就可以直接运行程序。

图1-53 HarmonyOS Device Manager页面

图1-54 授权DevEco Studio

1.单设备运行

选择Remote Emulator(远程模拟器)中的P40。点击后面的绿色三角按钮运行模拟器。模拟器运行后,按钮会变为红色矩形按钮,点击该按钮可以停止模拟器,如图1-55所示。

图1-55 模拟器选择

在屏幕右侧会出现运行起来的模拟器,如图 1-56 所示。如果没出现,那么点击右侧边栏的“Remote Emulator”选项,如图 1-57 所示。侧边栏有三个选项。最上面的是“Gradle”,它包含了很多 Gradle 命令。中间的选项是“Previewer”,用于预览 UI 页面,在编写页面时,可以实时看到页面的设计效果。最下面的选项是“Remote Emulator”,它是远程模拟器。

图1-56 模拟器运行

模拟器的使用有时间限制,每次申请的模拟器可以使用1小时,超出时间后,模拟器会自动关闭,开发者可以再次申请,但再次申请启动的模拟器不会保留上一次模拟器中的数据。

模拟器提供了和真机一样的点击、滑动等手势操作,可以像使用手机一样来使用模拟器。模拟器启动后,下方按钮提供了设置模拟器分辨率、翻转手机、Back键、Home键等功能按钮,如图1-58所示。

在模拟器启动后,可以直接运行刚才创建的HarmonyOS项目到模拟器上。在DevEco Studio页面的右上方位置有与运行程序相关的操作区域,如图1-59所示。最左侧的模块为要运行的模块,新创建的项目中默认生成了Entry模块,目录名称为 entry,所以这里暂时只有这一个模块可选,如果项目中新建了其他module,这里就可以选择运行对应的模块。

图1-57 右侧边栏选项

图1-58 模拟器控制键

图1-59 与运行程序相关的操作区域

当模拟器启动后,在设备列表位置就会出现名为“HUAWEI ANA-AN00”的设备,如果有多个设备,比如用手机连接了电脑、启动了多设备模拟器,就可以在这里选择不同的设备来运行程序。

运行程序按钮可以将指定的模块运行到指定的设备上。在运行程序按钮右侧的是调试程序按钮,以调试模式启动程序后,可以在代码中打断点来调试程序。代码覆盖率测试按钮与测试相关。另外,当程序运行后,如果你想调试程序,那么不用重新以调试模式启动程序,只需要点击绑定进程调试按钮,绑定调试进程,就可以调试程序了。最右侧的按钮是停止按钮,可以将程序停止。

点击运行程序按钮,或使用默认快捷键 Shift+F10,将应用部署到远程模拟器上,安装完成后,程序会自动打开,如图1-60所示。

图1-60 模拟器部署应用

我们在创建项目时,选择的运行设备是Phone类型的,所以应用可以运行在手机模拟器上。如果项目运行失败,那么需要检查config.json中的deviceType属性是否与要运行到的模拟器类型相匹配。deviceType字段支持tv、wearable、liteWearable、smartVision、phone、car、tablet、route类型的设备或它们的组合,配置方式如下。

2.多设备运行

HarmonyOS天生具备分布式能力,在模拟器中,也提供了多设备模拟器,可以同时启动两个设备。这两个设备在华为后台已经完成了组网,所以开发者不用关心设备组网情况,如果需要调试应用的分布式能力,只要正常调用相关API即可。下面来看在分布式设备上如何运行程序。

打开HarmonyOS Device Manager,在左侧设备列表中选择“Super device”选项,当前提供了两种设备组合,一种是两部P40手机的组合,另一种是P40手机和MatePad Pro平板电脑的组合,如图1-61所示。开发者可以根据自己的需要,在两者之间进行选择。这里选择两部P40手机的组合。

图1-61 Super device

模拟器启动后,DevEco Studio页面的右侧出现了两部 P40手机。这两部是模拟器,而不是真机,如图 1-62 所示。我们可以直接将程序运行到这两部手机上。

图1-62 多设备模拟器

模拟器启动后,在设备列表里,正在运行的设备有两部手机。这两部手机的区别在于后面的端口号,一部手机的端口号为8888,另一部手机的端口号为8889。我们可以按照端口号对两部手机进行区分,如图1-63所示。

图1-63 设备列表

我们还可以在模块选择下拉菜单中选择“Super App”选项(如图1-64所示),这时设备选择的菜单隐藏了,这里可以直接运行程序。

图1-64 Super App

点击程序运行按钮后,会出现如图1-65所示的提示菜单,第一列“Module”为项目中的模块,第二列“Device ID”是当前可以使用的设备,第三列“Device Type”是设备类型,此处的phone表示手机。我们可以在这里完成对模块和运行模块的设备的配置。

图1-65 提示菜单

程序运行到模拟器后的效果如图1-66所示。

图1-66 多设备模拟器程序运行

3.Previewer

如果只是对布局页面进行调试,则不必将程序运行,可以点击 DevEco Studio 右侧菜单栏中的“Previewer”选项,如图 1-67 所示,可以直接渲染resources\base\layout目录下的布局文件,右侧会出现布局页面的预览页面。

图1-67 用“Previewer”选项查看布局页面

开发者在编写页面时,在 XML文件中修改、增加或减少页面的组件,预览页面都可以实时响应布局页面代码的变化。在 Previewer 窗口中,还有横竖屏切换、颜色模式切换、语言选择等功能,方便调试页面的显示效果,如图1-68所示。

图1-68 Previewer窗口