《第二章、DevEco Studio的使用》05 - 模拟器和真机调试

1. 前言

如果您想观看完整的系列教程,不妨移步到我的《HarmonyOS Next 应用开发教程》专栏中,进行仔细查阅 : https://blog.csdn.net/qq_35163541/category_12723932.html

前面,我们已经学习了预览器的使用,可以帮我们在开发鸿蒙应用的时候,实时的查看效果,并且针对不用设备进行预览。

不过,如果想彻底体验鸿蒙应用的所有功能,仅靠预览器还远远不够。所以,DevEco Studio提供了模拟器(Emulator),为开发者提供了运行和调试 HarmonyOS 应用/服务的便捷途径。

模拟器还原了真实设备的基本功能,如屏幕旋转、音量调节、模拟的硬件传感器和指定设备的位置等。这使得您无需拥有不同类型的物理设备,就可以在各种虚拟环境中轻松测试您的应用程序。

在某些情况下,在模拟器上进行应用测试,相比于在实际物理设备上的测试,有着更快速、更高效的体验。例如,模拟器提供了摇一摇的操作模拟,让您能够轻松触发摇一摇功能。

总的来说,无论是快速原型验证还是功能测试,模拟器都是满足您测试需求的最佳选择。几乎能满足大部分需求,不过对于一些特定功能,模拟器也不能表现得十分完美,例如,获取相机指纹人脸识别等依赖硬件的功能。这些都会与真机存在差异性,这个将在后面介绍。

2. 模拟器介绍

下面我们来了解一下如何利用 HarmonyOS 模拟器调试应用。首先给大家介绍一下模拟器的版本以及模拟器的获取方式。

当前模拟器支持手机折叠屏平板二合一四种设备,支持的pc平台,包括 Mac armMac X86Windows 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+F10MacOSControl+R)运行应用/服务。

  1. 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版本以及获取方式,然后介绍了模拟器的使用,如常用的交互操作与工具,最后了解了模拟器与真机的差异,以及真机调试方法。

以上就是给大家分享的模拟器的相关内容,这节课就介绍到这里,谢谢各位观看!!!

  • 23
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值