使用环境
模拟器在本地计算机上创建和运行,在运行和调试应用/元服务时可以保持良好的流畅性和稳定性,但是需要耗费一定的计算机资源,具体的运行环境要求为:
系统类型 | 运行环境要求 |
---|---|
Windows(X86) |
|
macOS(ARM) |
|
创建模拟器
操作步骤
- 点击菜单栏的Tools > Device Manager,点击右下角的Edit设置模拟器实例的存储路径Local Emulator Location,Mac默认存储在~/.Huawei/Emulator/deployed下,Windows默认存储在C:\Users\xxx\AppData\Local\Huawei\Emulator\deployed下。
- 在Local Emulator页签中,单击右下角的New Emulator按钮,创建一个模拟器。
在模拟器配置界面,可以选择一个默认的设备模板,首次使用时会提示“Download the system image first”,请点击设备右侧的
下载模拟器镜像,您也可以在该界面更新或删除不同设备的模拟器镜像。单击Edit可以设置镜像文件的存储路径。Mac默认存储在~/Library/Huawei/Sdk下,Windows默认存储在C:\Users\xxx\AppData\Local\Huawei\Sdk下。
-
单击Next,核实确定需要创建的模拟器的名称,内存和存储空间,然后单击Finish创建模拟器。
启动和关闭模拟器
在设备管理器页面,单击即可启动模拟器。模拟器启动时会默认携带上一次运行时的用户数据,包括用户上传的文件,安装的应用等。如果是新创建的模拟器,则不会携带用户数据。如果想清除上一次运行时的用户数据,点击Actions >
> Wipe User Data。
在模拟器运行期间,可以点击Actions > > Show on Disk显示模拟器在本地生成的用户数据。点击Actions >
> Generate logs可以生成模拟器自启动到此刻的所有日志信息。想要关闭运行时的模拟器,可以在设备管理器页面点击
,或者点击模拟器工具栏上的关闭按钮
。
模拟器关闭后,点击Actions > > Delete可以删除模拟器,并清除模拟器的用户数据和配置信息。
操控屏幕
当模拟器运行时,您可以使用鼠标来模拟手指和设备屏幕进行交互,同时可以结合键盘来实现高级的屏幕操作,对应关系如下:
常用操作 | 描述 |
---|---|
滑动屏幕 | 将鼠标放置屏幕上方,按住鼠标左键,在屏幕上轻扫,然后释放。 |
拖动项目 | 将鼠标放置屏幕中的项目上方, 按住鼠标左键,移动项目,然后释放。 |
单击屏幕 | 将鼠标放置屏幕上方,按住鼠标左键,然后释放。 |
双击屏幕 | 将鼠标放置屏幕上方,快速双击鼠标左键,然后释放。 |
长按屏幕 | 指向屏幕上的一个项目,按下鼠标左键,保持一段时间,然后释放。 |
输入文字 | 鼠标点击输入域,随后您可以使用计算机键盘或屏幕上弹出的软键盘在模拟器中键入文字。 |
双指缩放 | Windows系统按下Control键(macOS上的Command)会弹出一个捏合手势多点触控界面。单击鼠标左键模拟按住双指,并释放鼠标左键模拟松开双指。鼠标充当第一个手指,穿过锚点是第二个手指。拖动光标以移动第一个点。 |
垂直滑动 | 在屏幕上打开一个垂直菜单,使用鼠标滚轮滚动菜单项。单击菜单项可进行选择。 |
复制粘贴 | 在计算机上复制一段文本后,您可以在模拟器屏幕的文本输入框内进行粘贴。可支持复制的最大文本长度为30000英文字符,超过该长度会对文本进行截断。 |
使用工具栏
工具栏上集成了模拟器的各种调试工具和控制选项,其中的扩展菜单栏包含了更加丰富的扩展功能。注意,部分工具栏按键需要在模拟器开机亮屏后才能使用。以下对工具栏的各个按键功能作简要说明:
按键 | 功能描述 |
---|---|
关闭 | 关闭模拟器 |
最小化 | 最小化模拟器窗口 |
更多 | 打开侧边扩展菜单 |
置顶 | 将模拟器置于所有打开窗口的顶层 |
左旋转 | 将设备屏幕逆时针旋转90度 |
右旋转 | 将设备屏幕顺时针旋转90度 |
增大音量 | 调高设备音量,长按可持续调高设备音量 |
减小音量 | 调低设备音量,长按可持续调低设备音量 |
截屏 | 生成当前屏幕的截图,并将图片保存在本地计算机 |
返回 | 返回上一屏幕或关闭对话框、选项菜单、通知面板或屏幕键盘 |
主屏 | 返回Home界面 |
最近 | 点按可打开最近使用过的应用的缩略图列表。要打开某个应用,请点按其缩略图。要从列表中删除缩略图,请向上滑动缩略图 |
摇一摇 | 触发设备摇一摇操作,详情参考摇一摇 |
电池 | 打开电池模拟面板,详情参考电池 |
GPS | 打开GPS模拟面板,详情参考GPS定位 |
虚拟传感器 | 打开虚拟传感器面板,详情参考虚拟传感器 |
网络代理 | 打开网络代理面板,详情参考网络代理 |
设置 | 打开设置面板。可设置模拟器主题、截屏保存路径、模拟器使用语言 |
Bug报告 | 打开Bug报告面板。可以保存Bug日志到本地。点击发送可前往官网在线提单 |
关于 | 打开关于面板。可以查看模拟器相关信息及许可证 |
展开 | 仅支持可折叠设备。切换设备形态至展开态 |
悬停 | 仅支持可折叠设备。切换设备形态至悬停态,并显示折痕避让区 |
折叠 | 仅支持可折叠设备。切换设备形态至折叠态 |
移动和缩放模拟器
- 移动模拟器
您可以使用鼠标拖动模拟器到屏幕的指定位置。首先将鼠标放在屏幕边缘,当鼠标变成
样式,按住鼠标左键并移动即可拖动模拟器。当模拟器被拖动到期望位置后,松开鼠标左键即可停止拖动。
- 缩放模拟器
如需改变模拟器大小,将鼠标放到屏幕四角的任意一处,当鼠标变成
,按住鼠标左键并移动即可缩放模拟器。当模拟器被缩放到期望大小后,松开鼠标左键即可完成缩放。
安装应用程序包和上传文件 *
- 安装应用程序包
您可以将本地的HAP包安装到模拟器上,只需要将本地的HAP包拖动到屏幕上即可进行安装,支持一次性拖拽安装多个HAP包。模拟器也支持安装包含HSP文件的应用,只需要将HSP和HAP一起拖动到屏幕上即可进行安装。也可以在命令行窗口使用hdc app install命令安装包。安装完成后,可在应用列表里查看已安装的应用。
- 上传文件
此外,您也可以在命令行窗口使用hdc file send命令上传文件。
更多的扩展能力
电池
您可以在模拟器上模拟不同电池状态。在扩展菜单栏上点击打开电池模拟界面。在该界面,您可以手动输入或拖动滑块来改变电量百分比,也可以点击
切换电池的充电/放电状态。电池具有以下三种充电状态:
- ENABLE:开启充电按钮,此时正在充电且电量没充满
- NONE:关闭充电按钮,此时停止充电
- FULL:开启充电按钮,且电量为100%。电量已充满
在应用中,您可以通过@ohos.batteryInfo模块查询模拟器的剩余电量以及充电状态。
GPS定位
模拟器可以模拟设备所处的位置。您可以打开扩展菜单,并点击
进行位置信息的设置。模拟器提供以下三种方式的GPS位置模拟:
- 手动设置:在该界面,您可以手动输入此时所处位置的经度,纬度,海拔以及方位角。您也可以通过点击城市下拉框,快速定位到所选城市。
- 导入:在导入界面您可以注入一段时间内的连续位置信息。点击
导入本地的GPX文件,点击
即可开始模拟GPX文件中的轨迹。此外,您还可以选择不同回放速率来改变移动的速度。
- 场景模拟:如果没有本地的GPX文件,您可以在场景模拟界面使用我们预置的GPX文件。我们在模拟器内部预置了户外跑步、户外骑行、驾驶导航三种场景的GPX文件,点击
即可开始轨迹模拟。
在应用中,您可以通过@ohos.geoLocationManager模块获取模拟器的位置信息。
虚拟传感器
模拟器提供了虚拟传感器来模拟硬件传感器的能力。在扩展菜单上点击
打开虚拟传感器界面。在该界面,您可以调节不同的传感器来测试您的应用,使用@ohos.sensor模块监听传感器值的变化。模拟器提供以下虚拟传感器:
- 计步传感器:用于测量步数,对应的SensorId为PEDOMETER
- 环境温度传感器:用于测量环境温度,对应的SensorId为AMBIENT_TEMPERATURE
- 湿度传感器:用于测量湿度,对应的SensorId为HUMIDITY
- 环境光传感器:用于测量光照强度,对应的SensorId为AMBIENT_LIGHT
您可以拖动滑动条或者直接在文本框输入来改变不同传感器的值。
摇一摇
模拟器可以模拟用户对设备的摇一摇操作。点击工具栏上的
,您可以模拟时长为1s的摇一摇操作。您的应用可以通过@ohos.sensor模块监听加速度传感器变化,当加速度传感器的变化量达到设定阈值时,触发摇一摇对应的业务逻辑。
音频输入
模拟器当前仅支持Audio Kit(音频服务)提供的音频输入能力,您可以使用本地计算机上的麦克风设备向模拟器中传输音频数据。使用步骤如下:
- 首先,请确保本地计算机已连接上麦克风设备。(如果电脑没有用,可尝试带耳机)
- 应用调用Audio Kit提供的API接口(如AudioCapturer、OHAudio)开始接收音频数据。
- 使用本地麦克风进行语音输入。
模拟器上的应用在调用相关API时,推荐使用如下格式的音频流信息格式,以保证清晰流畅的音质。
音频流信息 | 推荐值 |
---|---|
samplingRate(采样率) | 48000Hz |
channels(通道数) | 2 |
sampleFormat(采样格式) | 带符号的16位整数 |
encodingType(编码格式) | PCM编码 |
网络代理
模拟器可以将网络请求代理到代理服务器,利用代理服务器去请求目标服务器。从而满足以下开发场景:
- 开发者处于内网环境,希望通过设置代理的方式访问外网;
- 开发者已经在DevEco Studio上配置了网络代理,不希望在模拟器上重复配置代理;
- 开发者需要将网络请求代理到三方抓包工具,方便查看请求信息。
您可以打开扩展菜单,并点击
进行代理的配置。模拟器提供以下三种代理模式:
- 使用DevEco Studio代理:读取并应用DevEco Studio上DevEco Studio > Preferences > Appearance&Behavior>System Settings>HTTP Proxy(Windows上为DevEco Studio > File >Setting> Appearance&Behavior>System Settings>HTTP Proxy)下的网络代理配置(模拟器不支持HTTP Proxy下的no proxy for功能),无需在模拟器上重复配置。同时模拟器会去监听DevEco Studio侧代理配置的更改,从而进行代理配置的同步。当DevEco Studio选择的是自动代理模式或者是SOCKS代理方式时,模拟器不支持,会切换到无代理模式。
- 无代理:不使用代理,即发送网络请求时会直接去请求目标服务器。
- 手工配置代理:配置代理服务器的信息,将网络请求代理到代理服务器上。
以上的代理配置需要点击
按钮生效,同时可以通过点击
按钮对当前的代理配置进行校验。在发起https请求时,需要安装网站的数字证书,请参考使用模拟器发起https请求时如何安装数字证书。