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本地模拟器的更多相关文章

  1. GitHub 手把手教你如何把本地项目或代码提交到Github托管

    GitHub 手把手教你如何把项目或代码提交到Github托管 启动Git Bash命令行 重点内容 1.首先打开你的github,点击新建项目,点击new repositories ,然后直接给项目 ...

  2. 手把手教你 Apache DolphinScheduler 本地开发环境搭建 | 中英文视频教程

    点击上方 蓝字关注我们 最近,一些小伙伴反馈对小海豚的本地开发环境搭建过程不太了解,这不就有活跃的贡献者送来新鲜的视频教程!在此感谢@Tianqi-Dotes 的细致讲解 贡献者还贴心地录制了中英文两 ...

  3. 周一干货~手把手教你安装 Visual Studio 安卓模拟器

    干货~手把手教你安装 Visual Studio 安卓模拟器 转 http://mini.eastday.com/mobile/171107134734194.html# 今天软妹为大家带来一篇来自M ...

  4. 手把手教你Chrome扩展开发:本地存储篇

    手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...

  5. 手把手教你开发Chrome扩展三:关于本地存储数据

    手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 HTML5 ...

  6. 自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)

    本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了, ...

  7. 手把手教你做个人 app

    我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示:另外,开发一个app,还需要美工协助切图.没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先 ...

  8. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)

    前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...

  9. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

随机推荐

  1. docker查看容器的ip地址

    查看Docker的底层信息. docker inspect 会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息 # 列出所有容器的IP地址docker inspect --forma ...

  2. centos7 系统正则符号

    点符号 . 匹配任意一个字符,且只有一个字符 星符号 * 匹配任意0和或多个以上连续的字符 扩展符号 括号符号[] 匹配括号出现的字符信息 [^abc] --表示排除含有abc字符的内容,是单个字符a ...

  3. 使用Kubernetes两年来的7大经验教训

    来源:分布式实验室译者:冯旭松在Ridecell公司管理基础设施团队几年后,我想在停下来休息时记录一些想法和经验教训. 1Kubernetes不仅仅是炒作 我在Kubernetes领域里活跃了很久,所 ...

  4. Spring系列1:Spring基本概念

    本文内容 什么是Spring? 为什么学Spring? 本系列包含哪些技术? 本系列适合哪些人? 什么是Spring? 基本概念 Spring 框架为现代基于 Java 的企业应用程序提供了一个全面的 ...

  5. JVM组成详解

    一.JVM 整体组成 JVM 整体组成可分为以下四个部分: 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库 ...

  6. DaemonSet:每个节点都运行一个Pod

    依旧从这里开始: kubectl explain daemonset.spec 一个基础daemonset yaml, apiVersion: apps/v1 kind: DaemonSet meta ...

  7. 在3G移动通信网络信令流程里获取用户电话号的一种方法(中国电信cdma2000)

    首先这些关于电话号的的寻找都是在分组域进行的 然后是首先在rp接口的A11接口寻找,没有看到,于是到pi接口,研究radius协议 发现在协议里也不含有与用户电话号码mdn相关的元素 然后偶遇一篇文档 ...

  8. 在Django中使用zerorpc

    在Django中使用zerorpc 前言 随着系统架构从集中式单点服务器到分布式微服务方向的迁移,RPC是一个不可回避的话题.如何在系统中引入对开发者友好,性能可靠的RPC服务是一个值得深思的问题. ...

  9. 学习axios必知必会(2)~axios基本使用、使用axios前必知细节、axios和实例对象区别、拦截器、取消请求

    一.axios的基本使用: ✿ 使用axios前必知细节: 1.axios 函数对象(可以作为axios(config)函数使用去发送请求,也可以作为对象调用方法axios.request(confi ...

  10. 第03讲:Flink 的编程模型与其他框架比较

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 本课时我们主要介绍 ...