HarmonyOs DevEco Studio小技巧39-模拟器的使用
使用环境
模拟器在本地计算机上创建和运行,在运行和调试应用/元服务时可以保持良好的流畅性和稳定性,但是需要耗费一定的计算机资源,具体的运行环境要求为:
系统类型 | 运行环境要求 |
---|---|
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请求时如何安装数字证书。
相关文章:
HarmonyOs DevEco Studio小技巧39-模拟器的使用
使用环境 模拟器在本地计算机上创建和运行,在运行和调试应用/元服务时可以保持良好的流畅性和稳定性,但是需要耗费一定的计算机资源,具体的运行环境要求为: 系统类型 运行环境要求 Windows(X86) Windows 10 企业版、专业版或教…...
【C语言】浮点数的原理、整型如何转换成浮点数
众所周知C语言中浮点数占四个字节,无论在32位或者64位机器上。不免会发出疑问四个字节是怎么计算出小数的呢?其实物理存放还是按照整型存放的。 IEEE 754 单精度浮点数格式 浮点数在计算机中是使用 IEEE 754 标准进行表示的。在 IEEE 754 标准中&#…...
TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
前言 前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。 普通用户使用 参照上一篇教…...
Elasticsearch高性能实践
前言 本方案主要从运维层面分析es是实际生产使用过程中的参数优化,深入理解es各个名词及含义,深入分析es的使用过程中应注意的点,详细解释参数设置的原因以及目的,主要包括系统层面,参数层面。除此之外,优…...
软件测试--录制与回放脚本
准备工作 安装phpstudy 配置两个内容 放demo44文件夹 在浏览器输入http://localhost/demo44/index.html,出现如图所示的网站 输入用户名和密码 步骤一:打开Virtual User Generator,点击新建,点击new 步骤二:点击如下…...
nodejs 06.npm的使用以及package.json详解
一.npm(npm | Home)的介绍 npm(Node Package Manager)是一个node.js的包管理工具,允许用户下载安装更新分享node.js包 二.npm相关命令以及作用 1.npm init -y 这条命令主要是当项目中没有package.json这个文件的时候生成package.json这个文件 2.npm i / npm install (包名) 这条…...
如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档
本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能,通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1.WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…...
颜色的基本处理
数码相机能够获取彩色图像,但相机的色彩处理是一个非常复杂的过程,是非常重要的。 此过程生产制造商在细节方面都是不公布的,但是基本的概念是相同的。当相机捕捉一个真实场景时,是怎么还原成人眼所看到的图像呢? 1.R…...
跟李笑来学美式俚语(Most Common American Idioms): Part 66
Most Common American Idioms: Part 66 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…...
爬虫技术简介
1、爬虫简介 爬虫(Web crawler)是一种用于自动获取网页内容的程序。它可以通过模拟浏览器访问网页,并从中提取所需的信息,如文本、图片、链接等。爬虫在互联网上进行广泛应用,用于搜索引擎的网页抓取、数据挖掘、信息收集、内容监测等领域。 2、爬虫分类 爬虫的分类有以…...
如何打开Windows10的设备管理器
如何打开Windows10的设备管理器? 01 02...
scala列表
1 不可变 List 说明 (1)List 默认为不可变集合 (2)创建一个 List(数据有顺序,可重复) (3)遍历 List (4)List 增加数据 (5&#…...
c++检查某一文件是否存在
C17及以上版本,检查文件是否存在可以使用filesystem库 如果使用的是C11或C14,标准库并没有直接提供这样的功能。 可以使用平台特定的API,例如在Windows上使用 _access 函数,或在POSIX兼容系统(如Linux和macOS&#x…...
Scala的隐式类,隐式参数和值,隐式对象
1.Scala的隐式类定义语法:implicit class 类名(参数){ } 隐式类中参数只能定义一个,参数中的源类型与目标类型一一对应,只能从一种类型转换成另一种类型,不可以一对多或多对。 //隐式类:implicit class隐式转换函…...
LabVIEW实现HTTP通信
目录 1、HTTP通信原理 2、硬件环境部署 3、云端环境部署 4、HTTP通信函数 5、程序架构 6、前面板设计 7、程序框图设计 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和…...
【EXCEL】 获取多列中 不为空的那一个数据
从多个表格筛选出来的上班时间是下表这样的 我要把他们放在同一列,这样方便后续处理,合并列输入下面这个公式即可 日期不加 TEXT() 函数 转日期格式;将得到是一串数字 TEXT(TEXTJOIN(", ",TRUE,B2:F2),&qu…...
VBA API 概述 | 宏编程
注:本文为 “VBA API 概述 | 宏编程 | 执行速度慢” 相关文章合辑。 VBA API 详解 Office 二次开发于 2020-12-17 22:27:10 发布 Office 版本变动 在 Office 2010 之前,微软仅提供 32-bit 版本的 Office。而自 Office 2010 起,出现了 32-b…...
pythonOpenCV篇:0基础带你python入门之常用函数
① 二值化函数 功能:将图像转换为二值图像(黑白图像),将像素值分为两种类别:前景(白)和背景(黑)。函数:cv2.threshold()参数: src:输…...
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题③ 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志监控(Windows)A-4中间件…...
【每日一题 基础题】验证回文串
LCR 018. 验证回文串 验证回文串 给定一个字符串 s ,验证 s 是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的回文串 。 验证回文串 LCR 018. 验证回文串方法一:**筛选 判断…...
【Hadoop】-- hadoop3.x default port
Hadoop 3.x 修改了一些以前常用的默认端口,完整的默认端口列表,可点击下面配置文件获取信息: core-default.xmlhdfs-default.xmlhdfs-rbf-default.xmlyarn-default.xml...
SQL Server:只有MDF文件,如何附加数据库
第一步:先新建一个同名数据库,然后停止sql服务,删除新建数据库.ldf文件。 第二步:将要附加的数据库的.mdf文件覆盖刚新建的.mdf文件,并重启sql服务。 第三步:这时数据库DATA目录下只有一个.mdf文件…...
深入理解代理模式(Proxy):静态代理、动态代理与AOP
目录 1. 代理模式简介2. 静态代理3. 动态代理 3.1 JDK动态代理3.2 CGLIB动态代理 4. 面向切面编程(AOP)5. 实战示例6. 总结与最佳实践 1. 代理模式简介 代理模式是一种结构型设计模式,它允许我们提供一个代理来控制对其他对象的访问。代理模式在不改变原始类代码…...
项目中如何选择JVM垃圾回收器?
大家好,我是锋哥。今天分享关于【项目中如何选择JVM垃圾回收器?】面试题。希望对大家有帮助; 项目中如何选择JVM垃圾回收器? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在一个项目中选择合适的 JVM 垃圾回收器 (Garbage Collector, GC…...
如何借助5G网关实现油罐车安全在线监测
油罐车是常见的特种运输车辆,用以运送各种汽油、柴油、原油等油品,运输危险系数大,而且由于油罐车需要经常行驶在城区道路,为城市各个加油站点、企业工厂运输补充所需油料,因此也是危化品运输车辆的重点监测和管控对象…...
Edge SCDN的独特优势有哪些?
强大的边缘计算能力 Edge SCDN(边缘安全加速)是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术,智能调度使用户就近获取所需内容,为用户提供稳定快速的访问…...
在Goland中对goroutine协程断点调试
在Goland中对goroutine协程断点调试 环境: Goland 参考了 chatgpt 的回复 进行断点调试的代码 package mainimport ("fmt""sync""time" )// worker 模拟处理任务 func worker(id int, wg *sync.WaitGroup) {defer wg.Done() // 确保任务完成后…...
解密分布式锁:保障系统一致性的关键
作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 目录 1. 前言 2. 为何要使用分布式锁&…...
Redis 击穿、穿透与雪崩:深度解析与应对策略
在使用 Redis 作为缓存的系统架构中,缓存击穿、穿透和雪崩是三个常见且可能对系统性能产生严重影响的问题。深入理解这些问题并掌握有效的应对策略对于构建稳定、高效的系统至关重要。 一、缓存击穿 (一)问题描述 缓存击穿是指一个热点 key…...
8086处理器的寻址方式
概念 在计算机系统中,处理器操作和处理的是数值,那么,必定涉及数值从哪里来,处理后送到哪里去,这称为寻址方式(Addressing Mode)。 简单地说,寻址方式就是如何找到要操作的数据,以及如何找到存…...
学做网站会员/拼多多网店代运营要多少费用
1、控件的生命周期——控件消隐之后,会不会依然可点,导致出现进一步的响应?这个之前没想过,之后需要加入到测试点中 2、在登录界面同时出现弹窗: 如:特殊情况下,同时出现弹窗,又刚好…...
人工智能公司网站建设/网络宣传
本文是摘自别人的网站,自己读的书少,谨以此作为自己要读的书的一个书目列表吧。 原文地址:http://blog.sina.com.cn/s/blog_6aa1784101011hl5.html 正文: 一直有这么个想法,列一下我个人认为在学习和使用Java过程中可以…...
wordpress seo什么意思/百度投放广告收费标准
vector的数据安排和操作方式,和array很相似。但是vector优点是空间的灵活性。array是静态空间,如果我们想要多增加元素,必须手动申请,而vector会自动扩充空间。再也不用担心空间不足申请很大的array. vector实现关键在于对大小的控…...
好看的网站后台模板/百度竞价客服
2019独角兽企业重金招聘Python工程师标准>>> IBM常见的java技术面试指导: 1. Spring整合struts有几种方式 2中 把struts的Action托管给spring,和不托管 2. Spring的动态代理是怎么写的? 怎么配置的? 这个问法太笼统&am…...
中国企业在线/广东seo排名
转载自:http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html 公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持…...
云南网站开发培训机构排行/如何创建一个网站
阅读文本大概需要 13 分钟。网上虽然已经有很多类似的介绍了,但我还是自己总结归纳了一下,自认为内容和细节都是比较齐全的。文章篇幅有 4k 多字,货有点干,断断续续写了好几天,希望对大家有帮助。不出意外地话…...