1. 前言
如果您想观看完整的系列教程,不妨移步到我的《HarmonyOS Next 应用开发教程》专栏中,进行仔细查阅 : https://blog.csdn.net/qq_35163541/category_12723932.html
前面,我们已经学习了预览器的使用,可以帮我们在开发鸿蒙应用的时候,实时的查看效果,并且针对不用设备进行预览。
不过,如果想彻底体验鸿蒙应用的所有功能,仅靠预览器还远远不够。所以,DevEco Studio提供了模拟器(Emulator),为开发者提供了运行和调试 HarmonyOS 应用/服务的便捷途径。
模拟器还原了真实设备的基本功能,如屏幕旋转、音量调节、模拟的硬件传感器和指定设备的位置等。这使得您无需拥有不同类型的物理设备,就可以在各种虚拟环境中轻松测试您的应用程序。
在某些情况下,在模拟器上进行应用测试,相比于在实际物理设备上的测试,有着更快速、更高效的体验。例如,模拟器提供了摇一摇的操作模拟,让您能够轻松触发摇一摇功能。
总的来说,无论是快速原型验证还是功能测试,模拟器都是满足您测试需求的最佳选择。几乎能满足大部分需求,不过对于一些特定功能,模拟器也不能表现得十分完美,例如,获取**相机**
、**指纹**
、**人脸识别**
等依赖硬件的功能。这些都会与真机存在差异性,这个将在后面介绍。
2. 模拟器介绍
下面我们来了解一下如何利用 HarmonyOS 模拟器调试应用。首先给大家介绍一下模拟器的版本以及模拟器的获取方式。
当前模拟器支持**手机**
、**折叠屏**
、**平板**
、**二合一**
四种设备,支持的pc平台,包括 **Mac arm**
、**Mac X86**
、**Windows X86**
三种,支持的 API 版本包含 api11 和 api12。在缺少真机的情况下,您可以使用模拟器进行HarmonyOS 应用的开发与调试。
3. 模拟器获取
如何在**DevEco Studio**
内完成模拟器镜像的下载与安装
首先打开 IDE,点击 **Tools**
下的 **Device Manager**
,进入到设备管理页面。
如果您是第一次使用,打开的界面会提示您需要登录华为账号,界面如下:
点击**
sign in
**登录,若提示该帐号没有权限,弹出截图如下:
这是由于当前下载模拟器镜像需先申请参加模拟器Beta活动。若提示该帐号没有权限,请先点击“Submit the application form”完成权限申请。
Submit the application form 跳转地址 :
https://developer.huawei.com/consumer/cn/activity/201714466699051861/signup申请界面截图 :
若是账号已获取权限(已获取界面如下),在设备管理页面的底部栏中有一个设置模拟器的存储路径,单击**edit**
按钮。接下来单击右下角的 **New Emulator**
按钮创建模拟器。
在虚拟设备配置界面,您可以选择不同设备的模拟器镜像进行下载、更新与删除。在这里,我们以phone设备为例,点击下载,并在下载完成后点击右下角的**next**
。
接下来配置模拟器信息,可根据电脑的内存情况配置模拟器的运行内存和存储大小。配置完成后,点击**Finish**
,完成模拟器的创建,模拟器就可以运行起来了。
模拟器创建完毕后的界面如下,并可以通过三角形按钮进行启动模拟器。
4. 模拟器的常规使用
将模拟器下载安装完成后,来了解一下模拟器使用的方式与特性。
模拟器提供了一系列基础交互,如下表 :
常用操作
描述
滑动屏幕
将鼠标放置屏幕上方,按住鼠标左键,在屏幕上轻扫,然后释放。
拖动项目
将鼠标放置屏幕中的项目上方, 按住鼠标左键,移动项目,然后释放。
单击屏幕
将鼠标放置屏幕上方,按住鼠标左键,然后释放。
双击屏幕
将鼠标放置屏幕上方,快速双击鼠标左键,然后释放。
长按屏幕
指向屏幕上的一个项目,按下鼠标左键,保持一段时间,然后释放。
输入文字
鼠标点击输入域,随后使用计算机键盘或屏幕上弹出的软键盘在模拟器中键入文字。
双指缩放
Windows系统按下Control键(macOS上的Command)会弹出一个捏合手势多点触控界面。单击鼠标左键模拟按住双指,并释放鼠标左键模拟松开双指。鼠标充当第一个手指,穿过锚点是第二个手指。拖动光标以移动第一个点。
垂直滑动
在屏幕上打开一个垂直菜单,使用鼠标滚轮滚动菜单项。单击菜单项可进行选择。
安装应用
将本地的 HAPpy 安装包拖动到屏幕上即可进行安装。
上传文件
将文件拖动至模拟器屏幕上即可。
在这里。特别介绍一下双指缩放,首先需要在 **Windows**
系统中按下**Ctrl**
键或在**Mac
**系统中按下 **Comment**
键,待弹出双指操作界面后,操控鼠标进行放大、缩小或移动光标等操作。
模拟器操作演示 :
5. 模拟器工具栏
接下来给大家介绍一下模拟器的工具栏,工具栏从上到下分别提供了各个功能。点击工具栏上方的更多按键,即可进入到模拟器的扩展菜单。扩展菜单中提供了更多关于硬件模拟的能力,包含电池、gps、传感器和网络代理等。
以下对工具栏的各个按键功能作简要说明:
按键
功能描述
关闭
关闭模拟器
最小化
最小化模拟器窗口
更多
打开侧边扩展菜单
置顶
将模拟器置于所有打开窗口的顶层
左旋转
将设备屏幕逆时针旋转90度
右旋转
将设备屏幕顺时针旋转90度
增大音量
调高设备音量,长按可持续调高设备音量
减小音量
调低设备音量,长按可持续调低设备音量
截屏
生成当前屏幕的截图,并将图片保存在本地计算机
返回
返回上一屏幕或关闭对话框、选项菜单、通知面板或屏幕键盘
主屏
返回Home界面
最近
点按可打开最近使用过的应用的缩略图列表。要打开某个应用,请点按其缩略图。要从列表中删除缩略图,请向上滑动缩略图
摇一摇
触发设备摇一摇操作,详情参考摇一摇
电池
打开电池模拟面板,详情参考电池
GPS
打开GPS模拟面板,详情参考GPS定位
虚拟传感器
打开虚拟传感器面板,详情参考虚拟传感器
网络代理
打开网络代理面板,详情参考网络代理
设置
打开设置面板。可设置模拟器主题、截屏保存路径、模拟器使用语言
Bug报告
打开Bug报告面板。可以保存Bug日志到本地。点击发送可前往官网在线提单
关于
打开关于面板。可以查看模拟器相关信息及许可证
展开
仅支持可折叠设备。切换设备形态至展开态
悬停
仅支持可折叠设备。切换设备形态至悬停态,并显示折痕避让区
折叠
仅支持可折叠设备。切换设备形态至折叠态
6. 模拟器与真机的差异
最后我们来了解一下模拟器与真机的差异,因为蓝牙、NFC、相机等功能依赖硬件的能力。所以在模拟器上需要对这些能力进行虚拟,导致模拟器与甄姬有一些差异性。接下来我将给大家介绍几点模拟器与甄姬的差异。首先,模拟器不需要做应用签名就可以运行。
在 UI 开发方面,应用模拟器需要把手机的绘图指令转到 PC 上执行,所以会受到 PC 的限制。当前我们已支持 ArkUI 组件、Web、窗口管理、OpenGL ES 2.0/3.0指令,后续将会增加对Vulkan的支持。
表中列举了不同场景下模拟器详细的支持功能以及即将支持的功能,参考资料进行了解。
模拟器与真机的差异表:
场景
能力
X86版本
ARM版本
应用签名
模拟器不需要签名
-
-
UI开发
ArkUI组件
√
√
Web
√
√
窗口管理
√
√
OpenGL ES 2.0/3.0指令
√
√
OpenGL ES 3.0扩展指令及3.0以上指令
×
×
Vulkan
×
×
3D组件
×
×
etc2/astc压缩纹理
×
×
媒体
图片
√
√
播放音频
√
√
播放视频(H264格式、软解码)
√
√
√
√
录像
×
×
拍照/扫码
×
×
屏幕录制
×
×
网络与连接
WiFi(仅用于判断WiFi状态)
√
√
本地网络(仅支持IPv4)
√
√
IPv6
×
×
访问互联网
√
√
设置代理
√
√
蜂窝网络
×
×
通知
系统通知
√
√
华为推送
×
×
数据管理
用户首选项
√
√
键值型数据管理
√
√
关系型数据管理
√
√
分布式数据对象
×
×
帐号管理
华为帐号
×
√
DFX
HiLog
√
√
FaultLog
√
√
HiTrace
×
×
定位
获取位置信息
√
√
地理逆编码
×
√
地图
×
×
硬件模拟
屏幕旋转
√
√
GPS
√
√
电池
√
√
传感器(步数、湿度、心率、光照强度、环境温度)
√
√
摇一摇
√
√
麦克风
√
√
相机
×
×
安全
访问控制
√
√
安全控件
√
√
通用密钥库
√
√
加解密算法库
√
√
证书管理
√
√
asset store
√
√
指纹
×
×
人脸识别
×
×
生物检测
×
×
应用测试
单元测试框架
√
√
UI测试框架
√
√
预置应用
小艺输入法
×
√
文件管理
√
√
设置
√
√
图库
√
√
其他
多端设备模拟
×
×
自由流转
×
×
分享
×
×
AI
×
×
7. 真机调试
在Phone和Tablet中运行HarmonyOS应用/服务的操作方法一致,可以采用USB连接方式或者无线调试的连接方式。两种连接方式是互斥的,只能使用一种,无法同时使用两种方式。
7.1. 前提条件
- 在Phone或Tablet上查看设置 > 系统中开发者模式是否存在,如果不存在,可在设置 > 关于手机/关于平板中,连续七次单击“版本号”,直到提示“开启开发者模式”,点击确认开启后输入PIN码(如果已设置),设备将自动重启,请等待设备完成重启。
- 在设备运行应用/服务需要根据为应用/服务进行签名章节,提前对应用/服务进行签名。
7.2. 使用USB连接方式
1、使用USB方式,将Phone或Tablet与PC端进行连接。
2、在设置 > 系统 > 开发者模式中,打开“USB调试”开关(确保设备已连接USB)。
3、在Phone或Tablet中会弹出“允许USB调试”的弹框,单击允许。
4、在菜单栏中,单击Run>Run’模块名称’或,或使用默认快捷键Shift+F10(macOS为Control+R)运行应用/服务。
5、DevEco Studio启动HAP的编译构建和安装。安装成功后,设备会自动运行安装的HarmonyOS应用/服务。以下是我 IDE 中识别好的真机:
7.3. 使用无线调试连接方式
1、将Phone/Tablet和PC连接到同一WLAN网络。
2、在开发者模式中,打开“无线调试”开关,并获取Phone/Tablet端的IP地址和端口号。
3、在PC中执行如下命令连接设备。
hdc tconn 设备IP地址:端口号
4、在菜单栏中,单击Run>Run’模块名称’或,或使用默认快捷键Shift+F10(MacOS为Control+R)运行应用/服务。
- DevEco Studio启动HAP的编译构建和安装。安装成功后,Phone/Tablet会自动运行安装的HarmonyOS应用/服务。
7.4. 常见问题
7.4.1. USB调试无法识别设备
DevEco Studio无法识别到已连接的设备,显示“No device”。
- 常见原因****一
设备未开启“开发者模式”。
解决措施
在设备上打开“开发者模式”开关,打开“USB调试”开关或“无线调试”开关。
- 常见原因****二
使用的USB连接线为充电线而非数据线,请更换为满足USB2.0标准的数据线;建议使用直连
方式,不要使用拓展坞。
- 常见原因****三
当前的USB数据口可能损坏,请更换另一个USB数据口后重新尝试;检查端口驱动是否正
常。
- 常见原因四
hdc工具的进程或设备存在异常。
解决措施
1、执行如下命令,结束hdc的进程,然后尝试重新连接。
? ? ?./hdc kill
2、若按照步骤1操作后还是不能连接,请重启设备,然后尝试重新连接。
- 常见原因五
场景一:关闭“USB调试”开关,并且断开USB连接,重新打开“USB调试”开关。无法识别到设备。
场景二:打开“无线调试”开关后,进行无线调试连接,然后关闭“无线调试”开关后,又打开“USB调试”开关,进行USB调试。无法识别到设备。
解决措施
重启设备,连接USB,打开“USB调试”开关。
8. 课程总结
本节课首先给大家介绍了模拟器支持的设备类型、平台与api版本以及获取方式,然后介绍了模拟器的使用,如常用的交互操作与工具,最后了解了模拟器与真机的差异,以及真机调试方法。
以上就是给大家分享的模拟器的相关内容,这节课就介绍到这里,谢谢各位观看!!!