- Hello HarmonyOS!:鸿蒙应用开发从入门到精通
- 孙洋
- 2175字
- 2022-05-06 15:42:08
1.4.4 模拟器运行
本节介绍如何将 HarmonyOS 程序运行到模拟器上。目前,华为为开发者提供了远程模拟器,可以供开发者在线调试运行程序。远程模拟器为华为后台服务器使用虚拟化技术运行的 HarmonyOS。应用在模拟器中运行不需要签名,可直接运行。
在 1.4.1 节中,已经新建好了项目。在DevEco Studio 的菜单栏中选择“Tools”→“Device Manager”选项(如图1-52所示),之后弹出HarmonyOS Device Manager页面,在这里可以选择要启动的模拟器。目前包含两类设备:远程模拟器和远程真机。不论用哪种设备,都需要登录华为账号。
在首次打开HarmonyOS Device Manager时,会提示下载模拟器所需要的资源文件。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_48_1.jpg?sign=1734410711-gVAULf45WJti4QvFuyFhh2f2dZ9jnJKW-0-dfdebd5ca2ab8a8d579d84a6ddb6054f)
图1-52 “Device Manager”选项
打开HarmonyOS Device Manager,点击“Login”后(如图1-53所示),页面会自动跳转到华为账号登录页面,输入账号和密码,进行登录,会提示是否允许HUAWEI DevEco Studio访问你的账号,点击“允许”按钮,如图1-54所示。之后,DevEco Studio中的HarmonyOS Device Manager会接收到授权,可以开始选择相应的设备模拟器。这里选择远程模拟器,模拟器不需要签名就可以直接运行程序。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_48_2.jpg?sign=1734410711-R85pX0hhDuUlgvXWQMHNZ1qwkdHzuGHB-0-12ee02fe58b189b824e8ac6486a48e29)
图1-53 HarmonyOS Device Manager页面
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_49_1.jpg?sign=1734410711-ni32a1IkVEPTSDpK0HHz1fA2NRatdsBP-0-712e98acf8cf23740dc8877592693e93)
图1-54 授权DevEco Studio
1.单设备运行
选择Remote Emulator(远程模拟器)中的P40。点击后面的绿色三角按钮运行模拟器。模拟器运行后,按钮会变为红色矩形按钮,点击该按钮可以停止模拟器,如图1-55所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_49_2.jpg?sign=1734410711-vV9mdXULmRvptwPzod74FxlhGtkz1lzW-0-229e58adac7772ffdefa04ef8ec5fc4a)
图1-55 模拟器选择
在屏幕右侧会出现运行起来的模拟器,如图 1-56 所示。如果没出现,那么点击右侧边栏的“Remote Emulator”选项,如图 1-57 所示。侧边栏有三个选项。最上面的是“Gradle”,它包含了很多 Gradle 命令。中间的选项是“Previewer”,用于预览 UI 页面,在编写页面时,可以实时看到页面的设计效果。最下面的选项是“Remote Emulator”,它是远程模拟器。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_50_1.jpg?sign=1734410711-83Klr2Oyi5e4gFVGPGVbxEszdRqGrxJl-0-5b62b07a5902eda20c98d0e42c71559f)
图1-56 模拟器运行
模拟器的使用有时间限制,每次申请的模拟器可以使用1小时,超出时间后,模拟器会自动关闭,开发者可以再次申请,但再次申请启动的模拟器不会保留上一次模拟器中的数据。
模拟器提供了和真机一样的点击、滑动等手势操作,可以像使用手机一样来使用模拟器。模拟器启动后,下方按钮提供了设置模拟器分辨率、翻转手机、Back键、Home键等功能按钮,如图1-58所示。
在模拟器启动后,可以直接运行刚才创建的HarmonyOS项目到模拟器上。在DevEco Studio页面的右上方位置有与运行程序相关的操作区域,如图1-59所示。最左侧的模块为要运行的模块,新创建的项目中默认生成了Entry模块,目录名称为 entry,所以这里暂时只有这一个模块可选,如果项目中新建了其他module,这里就可以选择运行对应的模块。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_51_1.jpg?sign=1734410711-Pqw2YgkqBAdx2b5ICgt2Sx6fo2E6XHbW-0-73ded41c2c84cea80ef31bca00834940)
图1-57 右侧边栏选项
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_51_2.jpg?sign=1734410711-rjckVZtqgF7QGiv8ZN1wZHty9UhIZapl-0-7d3731e9f0095e826955fa887670f6db)
图1-58 模拟器控制键
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_51_3.jpg?sign=1734410711-6wpDP3a9lCWy3iaFsXFFaTkEkywGYb9T-0-8fcb2ada3e44d61a8abe0a221893613c)
图1-59 与运行程序相关的操作区域
当模拟器启动后,在设备列表位置就会出现名为“HUAWEI ANA-AN00”的设备,如果有多个设备,比如用手机连接了电脑、启动了多设备模拟器,就可以在这里选择不同的设备来运行程序。
运行程序按钮可以将指定的模块运行到指定的设备上。在运行程序按钮右侧的是调试程序按钮,以调试模式启动程序后,可以在代码中打断点来调试程序。代码覆盖率测试按钮与测试相关。另外,当程序运行后,如果你想调试程序,那么不用重新以调试模式启动程序,只需要点击绑定进程调试按钮,绑定调试进程,就可以调试程序了。最右侧的按钮是停止按钮,可以将程序停止。
点击运行程序按钮,或使用默认快捷键 Shift+F10,将应用部署到远程模拟器上,安装完成后,程序会自动打开,如图1-60所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_52_1.jpg?sign=1734410711-a1E0RUI1nLopBq7mDmEThkhlwnKc4hSD-0-2cfa4e52dae9f0638afd402830996525)
图1-60 模拟器部署应用
我们在创建项目时,选择的运行设备是Phone类型的,所以应用可以运行在手机模拟器上。如果项目运行失败,那么需要检查config.json中的deviceType属性是否与要运行到的模拟器类型相匹配。deviceType字段支持tv、wearable、liteWearable、smartVision、phone、car、tablet、route类型的设备或它们的组合,配置方式如下。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_52_2.jpg?sign=1734410711-sLd7EWyWWSctVnhNieIhAMQRvSsHo23I-0-d9d82e80fe72b1f6faa97a839d5f749a)
2.多设备运行
HarmonyOS天生具备分布式能力,在模拟器中,也提供了多设备模拟器,可以同时启动两个设备。这两个设备在华为后台已经完成了组网,所以开发者不用关心设备组网情况,如果需要调试应用的分布式能力,只要正常调用相关API即可。下面来看在分布式设备上如何运行程序。
打开HarmonyOS Device Manager,在左侧设备列表中选择“Super device”选项,当前提供了两种设备组合,一种是两部P40手机的组合,另一种是P40手机和MatePad Pro平板电脑的组合,如图1-61所示。开发者可以根据自己的需要,在两者之间进行选择。这里选择两部P40手机的组合。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_53_1.jpg?sign=1734410711-hJqCOHI1SvnBjJfWyosKGzuKEn72sfEb-0-ffc720c818afe85b07befee803bebbc8)
图1-61 Super device
模拟器启动后,DevEco Studio页面的右侧出现了两部 P40手机。这两部是模拟器,而不是真机,如图 1-62 所示。我们可以直接将程序运行到这两部手机上。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_53_2.jpg?sign=1734410711-CpCZHurDTjlNzQgJwcW8XrOEtVFNV1tH-0-0f77548e0645a75eca71b7df6d6eeb48)
图1-62 多设备模拟器
模拟器启动后,在设备列表里,正在运行的设备有两部手机。这两部手机的区别在于后面的端口号,一部手机的端口号为8888,另一部手机的端口号为8889。我们可以按照端口号对两部手机进行区分,如图1-63所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_54_1.jpg?sign=1734410711-p0NfQ3KeiFTsYzSmxAatDPCllL4xfQHF-0-714909f92803a0df4a2fe972267e780a)
图1-63 设备列表
我们还可以在模块选择下拉菜单中选择“Super App”选项(如图1-64所示),这时设备选择的菜单隐藏了,这里可以直接运行程序。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_54_2.jpg?sign=1734410711-9SVBnPmVUQ5WPTfWxKWkbzAeMijchTXc-0-3447fee6fe0839b67c3c35bbb34129fd)
图1-64 Super App
点击程序运行按钮后,会出现如图1-65所示的提示菜单,第一列“Module”为项目中的模块,第二列“Device ID”是当前可以使用的设备,第三列“Device Type”是设备类型,此处的phone表示手机。我们可以在这里完成对模块和运行模块的设备的配置。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_54_3.jpg?sign=1734410711-Y8ZAyuno8MkPqvh2zGQBG3Xc4OnLlmjX-0-dfe490bab8100ae1d751ebd8e6f0fb17)
图1-65 提示菜单
程序运行到模拟器后的效果如图1-66所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_55_1.jpg?sign=1734410711-tYuM25baxgu31r8YspXwaIDrd9uAoMeI-0-388cd2ad25706200ebf9ae1aebde1622)
图1-66 多设备模拟器程序运行
3.Previewer
如果只是对布局页面进行调试,则不必将程序运行,可以点击 DevEco Studio 右侧菜单栏中的“Previewer”选项,如图 1-67 所示,可以直接渲染resources\base\layout目录下的布局文件,右侧会出现布局页面的预览页面。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_55_2.jpg?sign=1734410711-uAjREet3xfkovYKaiCADi51sntmodpwQ-0-3c992a299ed26c6140d227b1f7587aa6)
图1-67 用“Previewer”选项查看布局页面
开发者在编写页面时,在 XML文件中修改、增加或减少页面的组件,预览页面都可以实时响应布局页面代码的变化。在 Previewer 窗口中,还有横竖屏切换、颜色模式切换、语言选择等功能,方便调试页面的显示效果,如图1-68所示。
![](https://epubservercos.yuewen.com/0FFABF/23020655009774306/epubprivate/OEBPS/Images/42868_56_1.jpg?sign=1734410711-Qy85REg5wKmnoQCb7nPwyV4ZvKzFI8Nq-0-8eb17720af97874920f6e707463eba57)
图1-68 Previewer窗口