《第二章、DevEco Studio的使用》05 - 模拟器和真机调试
清风论 2024-08-16 10:33:02 阅读 60
1. 前言
如果您想观看完整的系列教程,不妨移步到我的《HarmonyOS Next 应用开发教程》专栏中,进行仔细查阅 : https://blog.csdn.net/qq_35163541/category_12723932.html
前面,我们已经学习了预览器的使用,可以帮我们在开发鸿蒙应用的时候,实时的查看效果,并且针对不用设备进行预览。
不过,如果想彻底体验鸿蒙应用的所有功能,仅靠预览器还远远不够。所以,DevEco Studio提供了模拟器(Emulator),为开发者提供了运行和调试 HarmonyOS 应用/服务的便捷途径。
模拟器还原了真实设备的基本功能,如屏幕旋转、音量调节、模拟的硬件传感器和指定设备的位置等。这使得您无需拥有不同类型的物理设备,就可以在各种虚拟环境中轻松测试您的应用程序。
在某些情况下,在模拟器上进行应用测试,相比于在实际物理设备上的测试,有着更快速、更高效的体验。例如,模拟器提供了摇一摇的操作模拟,让您能够轻松触发摇一摇功能。
总的来说,无论是快速原型验证还是功能测试,模拟器都是满足您测试需求的最佳选择。几乎能满足大部分需求,不过对于一些特定功能,模拟器也不能表现得十分完美,例如,获取<code>相机、指纹
、人脸识别
等依赖硬件的功能。这些都会与真机存在差异性,这个将在后面介绍。
2. 模拟器介绍
下面我们来了解一下如何利用 HarmonyOS 模拟器调试应用。首先给大家介绍一下模拟器的版本以及模拟器的获取方式。
当前模拟器支持手机
、折叠屏
、平板
、二合一
四种设备,支持的pc平台,包括 Mac arm
、Mac X86
、Windows X86
三种,支持的 API 版本包含 api11 和 api12。在缺少真机的情况下,您可以使用模拟器进行HarmonyOS 应用的开发与调试。
3. 模拟器获取
如何在DevEco Studio
内完成模拟器镜像的下载与安装?
首先打开 IDE,点击 Tools
下的 Device Manager
,进入到设备管理页面。
如果您是第一次使用,打开的界面会提示您需要登录华为账号,界面如下:
点击<code>sign in登录,若提示该帐号没有权限,弹出截图如下:
这是由于当前下载模拟器镜像需先申请参加模拟器Beta活动。若提示该帐号没有权限,请先点击“Submit the application form”完成权限申请。
Submit the application form 跳转地址 :
https://developer.huawei.com/consumer/cn/activity/201714466699051861/signup
申请界面截图 :
若是账号已获取权限(已获取界面如下),在设备管理页面的底部栏中有一个设置模拟器的存储路径,单击<code>edit按钮。接下来单击右下角的 New Emulator
按钮创建模拟器。
在虚拟设备配置界面,您可以选择不同设备的模拟器镜像进行下载、更新与删除。在这里,我们以phone设备为例,点击下载,并在下载完成后点击右下角的<code>next。
接下来配置模拟器信息,可根据电脑的内存情况配置模拟器的运行内存和存储大小。配置完成后,点击<code>Finish,完成模拟器的创建,模拟器就可以运行起来了。
模拟器创建完毕后的界面如下,并可以通过三角形按钮进行启动模拟器。
4. 模拟器的常规使用
将模拟器下载安装完成后,来了解一下模拟器使用的方式与特性。
模拟器提供了一系列基础交互,如下表 :
常用操作
| 描述
|
滑动屏幕
| 将鼠标放置屏幕上方,按住鼠标左键,在屏幕上轻扫,然后释放。
|
拖动项目
| 将鼠标放置屏幕中的项目上方, 按住鼠标左键,移动项目,然后释放。
|
单击屏幕
| 将鼠标放置屏幕上方,按住鼠标左键,然后释放。
|
双击屏幕
| 将鼠标放置屏幕上方,快速双击鼠标左键,然后释放。
|
长按屏幕
| 指向屏幕上的一个项目,按下鼠标左键,保持一段时间,然后释放。
|
输入文字
| 鼠标点击输入域,随后使用计算机键盘或屏幕上弹出的软键盘在模拟器中键入文字。
|
双指缩放
| Windows系统按下Control键(macOS上的Command)会弹出一个捏合手势多点触控界面。单击鼠标左键模拟按住双指,并释放鼠标左键模拟松开双指。鼠标充当第一个手指,穿过锚点是第二个手指。拖动光标以移动第一个点。
|
垂直滑动
| 在屏幕上打开一个垂直菜单,使用鼠标滚轮滚动菜单项。单击菜单项可进行选择。
|
安装应用
| 将本地的 HAPpy 安装包拖动到屏幕上即可进行安装。
|
上传文件
| 将文件拖动至模拟器屏幕上即可。
|
在这里。特别介绍一下双指缩放,首先需要在 <code>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中执行如下命令连接设备。
<code>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的进程,然后尝试重新连接。
<code> ./hdc kill
2、若按照步骤1操作后还是不能连接,请重启设备,然后尝试重新连接。
常见原因五
场景一:关闭“USB调试”开关,并且断开USB连接,重新打开“USB调试”开关。无法识别到设备。
场景二:打开“无线调试”开关后,进行无线调试连接,然后关闭“无线调试”开关后,又打开“USB调试”开关,进行USB调试。无法识别到设备。
解决措施
重启设备,连接USB,打开“USB调试”开关。
8. 课程总结
本节课首先给大家介绍了模拟器支持的设备类型、平台与api版本以及获取方式,然后介绍了模拟器的使用,如常用的交互操作与工具,最后了解了模拟器与真机的差异,以及真机调试方法。
以上就是给大家分享的模拟器的相关内容,这节课就介绍到这里,谢谢各位观看!!!
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。