手把手教你使用HarmonyOS本地模拟器
2021年的华为开发者大会(HDC2021)上,我们随DevEco Studio 3.0 Beta1版本发布首次推出了本地模拟器(也称为Local Emulator),支持模拟手机品类。
我们通过下面的动图,来回顾下手机本地模拟器的使用效果。

本期,我们将为大家介绍HarmonyOS本地模拟器的版本演进,并手把手教大家使用HarmonyOS本地模拟器。
一、本地模拟器的版本演进
2021年12月31日,经过一个版本的迭代优化,随DevEco Studio 3.0 Beta2版本发布的本地模拟器新增了智能手表和智慧屏的模拟器品类。
本地模拟器分别针对智能手表和智慧屏的特征,定制了其独有的特性。
智能手表:支持心率、步数的模拟数据注入,支持旋转表冠按钮的模拟。

图1 智能手表
智慧屏:支持遥控器的模拟。

图2 智慧屏
下面,我们通过一段视频来看看智能手表和智慧屏品类本地模拟器的使用效果。

通过以上对本地模拟器的介绍,不难看出本地模拟器具有以下优势:
- 直接运行在用户本地计算机上,不需要登录授权,零延迟,也不受使用时长限制,拥有和真机一样的性能。
- 提供audio、battery、location等多种通用器件模拟,为开发者提供了一个近似真机的运行环境。
- 对华为设备提供产品专属模拟,如智能手表的旋转按压功能键,以及智慧屏的遥控器模拟等。
- 支持Java、JS、C/C++单语言调试和JS+Java跨语言调试能力,帮助开发者更方便、高效地调试应用。
二、使用前的准备工作
了解了本地模拟器之后,下面我们要重点为大家讲解如何使用本地模拟器。在使用本地模拟器之前,我们需要做好以下准备工作:
1. 本地模拟器是创建和运行在本地计算机上的,需确保本地计算机满足以下资源要求:
- Windows系统:8GB及以上
- macOS系统:8GB及以上
说明:不支持在虚拟机系统上运行本地模拟器,例如不支持在Ubuntu系统上,通过安装Windows虚拟机,然后使用Windows系统安装和运行模拟器。
2. 检查DevEco Studio的版本:
DevEco Studio V3.0 Beta1及更高版本才支持本地模拟器,当前推荐使用DevEco Studio V3.0 Beta2版本。
3. 使用本地模拟器前,需要安装相应的镜像包,具体操作如下:
(1)打开DevEco Studio,选择“Files > Settings”(macOS系统则选择“DevEco Studio > Preferences”)。
(2)如图3所示,在“SDK Manager > HarmonyOS Legacy SDK”页签,勾选“Platforms”下的镜像包。不同的的镜像包对应不同的设备类型,System-image-phone镜像包对应手机,System-image-tv镜像包对应智慧屏,System-image-wearable镜像包对应智能手表。

图3 下载镜像包
(3)点击“Apply”进行安装。
4. 安装本地模拟器。
在菜单栏选择“Tools > Device Manager”,进入图4所示界面,点击“Install”即可安装本地模拟器。

图4 安装本地模拟器
三、创建和使用本地模拟器
完成了上面的准备工作,接下来就是本文的重点,教大家如何创建和使用本地模拟器。
1.(可选)自定义本地模拟器文件存放路径。
本地模拟器文件的默认存放路径为:C:\Users\用户名\AppData\Local\Huawei\HarmonyOSEmulator\deployed。如果C盘空间紧张,可以通过新增一个系统的环境变量HarmonyOS_HVD_HOME自定义存放路径,指向空间充裕的目录。
2. 创建本地模拟器。
(1)打开DevEco Studio,选择“Tools > Device Manager”。如图3所示,在Local Emulator页签中,点击右下角的New Emulator按钮,开始创建本地模拟器。

图5 创建本地模拟器
(2)选择一个设备来创建本地模拟器。
如图4所示,DevEco Studio默认提供Huawei_Phone、Huawei_TV和Huawei_Wearable三个设备,分别对应手机、智慧屏和智能手表。针对华为设备的特征,DevEco Studio对这三个设备预置了尺寸、分辨率等参数。

图6 选择一个设备
开发者点击New Hardware或Huawei_Phone后的克隆 图标,可以创建新的手机设备,自定义设备的名称、尺寸、分辨率、内存等参数(如图7)。

图7 自定义手机参数
开发者从默认的三个设备或者创建的手机设备中,选择一个设备来创建本地模拟器。
(3)选择好设备后,点击Next,可以看到本地模拟器的镜像信息。
(4)再次点击Next,检查本地模拟器的配置信息,如有需要此时还可以修改配置信息。确认无误后,点击Finish完成本地模拟器的创建。
创建成功后,在Local Emulator页签可以看到新创建的本地模拟器,如图8所示。

图8 本地模拟器创建成功
3. 运行本地模拟器。
(1)在Local Emulator页签(如图8),点击即可启动本地模拟器。
(2)点击DevEco Studio工具栏中的按钮运行工程,或使用默认快捷键Shift+F10(Mac为Control+R)运行工程。

图9 运行工程
(3)DevEco Studio会启动应用的编译构建,完成后应用即可运行在本地模拟器上。以手机设备为例,运行效果如图10所示。

图10 运行本地模拟器
图8所示的手机本地模拟器,除了可以像真机一样直接在手机屏幕内操作,右侧的工具栏提供了操作便捷、丰富和数据注入能力,包括:调整音量、电池模拟、GPS模拟、网络模拟、虚拟传感器模拟等。
本地模拟器目前支持手机、智能手表和智慧屏三种设备类型。图11展示了同一套代码同时在智能手表、手机和智慧屏三个设备上的运行效果。

图11 本地模拟器运行效果
四、结束语
本期介绍了本地模拟器的使用,你掌握了吗?欢迎大家来使用和探索本地模拟器的更多丰富功能~
在使用本地模拟器过程中,如果遇到问题,可先参考FAQ:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/faq-local-emulator-0000001116085454
如果问题仍然没有解决,可通过华为开发者论坛向我们反馈:
https://developer.huawei.com/consumer/cn/forum/block/deveco-studio
我们将在后续版本中支持更多设备的本地模拟器,也将对大家反馈的问题进行优化和改进,提升大家的使用体验。请继续关注我们,感谢有你!

扫码添加开发者小助手微信
获取更多HarmonyOS开发资源和开发者活动资讯
手把手教你使用HarmonyOS本地模拟器的更多相关文章
- GitHub 手把手教你如何把本地项目或代码提交到Github托管
GitHub 手把手教你如何把项目或代码提交到Github托管 启动Git Bash命令行 重点内容 1.首先打开你的github,点击新建项目,点击new repositories ,然后直接给项目 ...
- 手把手教你 Apache DolphinScheduler 本地开发环境搭建 | 中英文视频教程
点击上方 蓝字关注我们 最近,一些小伙伴反馈对小海豚的本地开发环境搭建过程不太了解,这不就有活跃的贡献者送来新鲜的视频教程!在此感谢@Tianqi-Dotes 的细致讲解 贡献者还贴心地录制了中英文两 ...
- 周一干货~手把手教你安装 Visual Studio 安卓模拟器
干货~手把手教你安装 Visual Studio 安卓模拟器 转 http://mini.eastday.com/mobile/171107134734194.html# 今天软妹为大家带来一篇来自M ...
- 手把手教你Chrome扩展开发:本地存储篇
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...
- 手把手教你开发Chrome扩展三:关于本地存储数据
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...
- 自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)
本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了, ...
- 手把手教你做个人 app
我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示:另外,开发一个app,还需要美工协助切图.没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)
前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)
前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...
随机推荐
- 第10组 Beta冲刺 (1/5)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14012521.html ·作业博客:https://edu.cnblogs.co ...
- vue爬坑之路(webpack 配置篇)
在vue cli下 1.npm run dev 打开浏览器在config的index.js中修改autoOpenBrowser为true 关闭sourcemap productionSourceMap ...
- 灵雀云入选Gartner 2020中国ICT技术成熟度曲线报告,容器技术处于顶峰
近日,全球权威咨询分析机构Gartner发布了"2020中国ICT技术成熟度曲线(Hype Cycle for ICT in China, 2020 )"报告,灵雀云作为国内容器和 ...
- Antd使用timePicker封装时间范围选择器(React hook版)
antd中提供了是日期范围选择器及datepaicker封装日期范围选择器的示例,但是没有时间选择范围的组件,这里使用两个timePicker组合一个事件范围选择器,通过disabled属性限定时间可 ...
- sql审核-避免离线sql导致的db集群故障
关键词: sql审核.sql审批.sql检查.sql检测.sql执行 离线sql可能会导致的问题 首先,什么是离线sql呢?就是说手动触发执行的这种sql:相对的还有在线sql,位于我们的程序代码中, ...
- Spring Boot Admin,贼好使!
Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序.应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 ...
- 【Java】数组
文章目录 数组 一.数组的定义 二.数组的声明与创建 三.内存分析 四.三种初始化 五.数组的四个基本特点 六.数组边界 七.数组的使用 八.多维数组 九.Arrays类 十.稀疏数组 数组 一.数组 ...
- LATEX图片位置
常用选项[htbp]是浮动格式: -『h』当前位置.将图形放置在正文文本中给出该图形环境的地方.如果本页所剩的页面不够,这一参数将不起作用. -『t』顶部.将图形放置在页面的顶部. -『b』底部.将图 ...
- 【记录一个问题】神坑,自定义一个golang的error类型,居然运行崩溃了
2020-05-20 18:20补充: 感谢yif同学提供指导,出现错误并且打印大量信息的原因是函数递归调用导致栈溢出. 而导致递归调用的关键代码是%v 类型实现了error的interface %v ...
- Windows蓝牙失效超全攻略
新电脑蓝牙出现问题,我捣鼓了很久,历经九九八十一难得以修复,说一说我在网上看到的各种方法. 一个功能正常使用,需要经过一个又一个的步骤.任何一个地方出问题,都有可能造成蓝牙失效.以下方法按出现概率从大 ...