手把手教你使用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相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...
随机推荐
- sql优化--尽可能少用like
1.前言 like非常消耗性能,当搜索 like '%%' 的时候,仍然会对比全表信息后查找相关的数据, 2.如何优化? 使用动态标签 <if test="nickName != '% ...
- react中异步组件以及withRouter的使用
什么是异步组件?简单来说就是异步加载一个组件,正常情况浏览器加载的是我们打包好的bundle.js文件,那么这个文件是集合了所有js是代码,然而我们首屏加载并不需要一次性加载所有的组件,这会造成性能的 ...
- Spring循环依赖原理
Spring循环依赖的原理解析 1.什么是循环依赖? 我们使用Spring的时候,在一个对象中注入另一个对象,但是另外的一个对象中也包含该对象.如图: 在Student中包含了teacher的一个 ...
- Linux系统下,Redis的安装与启动
1.安装Redis之前,我们先介绍下Redis: (1)Redis是什么?都有哪些特点? 概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键 ...
- 使用 SourceGenerator 简化 Options 绑定
目录 摘要 Options 绑定 使用 SourceGenerator 简化 如何 Debug SourceGenerator 如何 Format 生成的代码 使用方法 SourceCode & ...
- Javascript实现全选按钮
Javascript实现全选按钮 效果:有全选选项框和单个选项框,选择全选框,所有的的选择都打上的钩,取消全选钩所有的都去掉了钩,如果取消其中某一个的钩,那么全选的钩也取消,反之全选所有的选项,那么全 ...
- 网络编程-基于Websocket聊天室(IM)系统
目录 一.HTML5 - Websocket协议 二.聊天室(IM)系统的设计 2.1.使用者眼中的聊天系统 2.2.开发者眼中的聊天系统 2.3.IM系统的特性 2.4.心跳机制:解决网络的不确定性 ...
- gin框架中的同步异步
goroutine机制可以方便地实现异步处理 另外,在启动新的goroutine时,不应该使用原始上下文,必须使用它的只读副本 // 异步 func longAsync(context *gin.Co ...
- java-异常-异常处理原则
1 异常处理的原则: 2 * 1,函数内部如果抛出需要检测的异常,那么函数上必须要声明. 3 * 否则必须在函数内用trycatch捕捉,否则编译失败. 4 * 5 * 2,如果调用到了声明异常的函数 ...
- Python定制化天气预报消息推送
sansui-Weather 代码码云 介绍 定制化天气预报消息推送(练手小脚本) Python脚本实现天气查询应用,提醒她注意保暖! 功能介绍 天气信息获取 当天天气信息提示 第二天天气信息提示 网 ...