为有牺牲多壮志,敢教日月换新天。

DevEco Studio:使用模拟器运行应用

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ 
➤GitHub地址:https://github.com/strengthen
➤原文地址:https://www.cnblogs.com/strengthen/p/18469870
➤如果链接不是为敢技术的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 

一、模拟器介绍
当前模拟器支持四种设备:手机、折叠屏、平板、2in1(2合1)
支持的PC平台包括:Mac arm、Windows x86、Mac x86

支持的API版本:API 11、API 12

二、模拟器获取
1、模拟器的下载与安装:【Tools】-【Device Manager】,进入到设备管理页面

2、点击右下角的【Edit】设置模拟器实例的存储路径【Local Emulator Locatoin】,

Mac默认存储在【~/.Huawei/Emulator/deployed】下,

Windows默认存储在【C:\Users\xxx\AppData\Local\Huawei\Emulator\deployed】下。

单击右下角的【New Emulator】创建模拟器。

3、弹框虚拟设备配置界面【Select Virtual Device】,选择设备,点击下载图标,

在模拟器配置界面,可以选择一个默认的设备模板,

首次使用时会提示“Download the system image first”,

请点击设备右侧的下载模拟器镜像,

您也可以在该界面更新或删除不同设备的模拟器镜像。

单击Edit可以设置镜像文件的存储路径。

Mac默认存储在【~/Library/Huawei/Sdk】下,

Windows默认存储在【C:\Users\xxx\AppData\Local\Huawei\Sdk】下。

下载完成后,点击右下角的【Next】

4、接下来,配置模拟器信息,根据电脑的内存情况,配置模拟器的运行内存,配置完成后,点击【Finish】完成模拟器的创建。

5、在设备管理器页面,单击启动模拟器。

6、选择模拟器设备,单击DevEco Studio的Run > Run'模块名称'或

7、DevEco Studio会启动应用/服务的编译构建与推包,完成后应用/服务即可运行在模拟器上。

三、模拟器使用
模拟器提供了一系列基础交互:

四、模拟器交互

1、特别介绍一下双指缩放,在Mac系统中按下【Command】(Windows按下Ctrl键),在弹出双指操作界面后,操控鼠标,进行放大、缩小或移动光标等操作。

2、若需要往模拟器中安装应用或者上传文件,可直接拖动本地HAP包或文件,至模拟器屏幕上即可。

有文本提示:【App将被安装,其他文件将被复制到:/storage/media/100/local/files/Docs/Download/.】

3、装应用程序包:
您可以将本地的HAP包安装到模拟器上,只需要将本地的HAP包拖动到屏幕上即可进行安装,支持一次性拖拽安装多个HAP包。模拟器也支持安装包含HSP文件的应用,只需要将HSP和HAP一起拖动到屏幕上即可进行安装。也可以在命令行窗口使用hdc app install命令安装包。安装完成后,可在应用列表里查看已安装的应用。
上传文件:
您可以将本地文件上传到模拟器中,只需要将文件拖动至模拟器屏幕上即可。模拟器支持批量上传文件,上传的文件存放在虚拟设备的【/storage/media/100/local/files/Docs/Download/】目录下。您可以在模拟器上打开文件管理 > 我的手机 > 下载查看上传的文件。
此外,您也可以在命令行窗口使用hdc file send命令上传文件。
五、模拟器工具栏
点击工具栏上方的更多按键,即可进入到模拟器的扩展菜单。扩展菜单中提供了更多关于硬件模拟的能力:包含电池、GPS、传感器和网络代理等。

工具栏上集成了模拟器的各种调试工具和控制选项,其中的扩展菜单栏包含了更加丰富的扩展功能。注意,部分工具栏按键需要在模拟器开机亮屏后才能使用。以下对工具栏的各个按键功能作简要说明:

按键

功能描述

关闭

关闭模拟器

最小化

最小化模拟器窗口

更多

打开侧边扩展菜单

置顶

将模拟器置于所有打开窗口的顶层

左旋转

将设备屏幕逆时针旋转90度

右旋转

将设备屏幕顺时针旋转90度

增大音量

调高设备音量,长按可持续调高设备音量

减小音量

调低设备音量,长按可持续调低设备音量

截屏

生成当前屏幕的截图,并将图片保存在本地计算机

返回

返回上一屏幕或关闭对话框、选项菜单、通知面板或屏幕键盘

主屏

返回Home界面

最近

点按可打开最近使用过的应用的缩略图列表。要打开某个应用,请点按其缩略图。要从列表中删除缩略图,请向上滑动缩略图

摇一摇

触发设备摇一摇操作,详情参考摇一摇

电池

打开电池模拟面板,详情参考电池

GPS

打开GPS模拟面板,详情参考GPS定位

虚拟传感器

打开虚拟传感器面板,详情参考虚拟传感器

网络代理

打开网络代理面板,详情参考网络代理

设置

打开设置面板。可设置模拟器主题、截屏保存路径、模拟器使用语言

Bug报告

打开Bug报告面板。可以保存Bug日志到本地。点击发送可前往官网在线提单

关于

打开关于面板。可以查看模拟器相关信息及许可证

展开

仅支持可折叠设备。切换设备形态至展开态

悬停

仅支持可折叠设备。切换设备形态至悬停态,并显示折痕避让区

折叠

仅支持可折叠设备。切换设备形态至折叠态

六、模拟器与真机的差异
因为蓝牙、NFC、相机等功能依赖硬件等能力,所以在模拟器上需要对这些能力进行虚拟,导致模拟器与真机有一些差异性。下表列举了不同场景下模拟器详细的已支持功能,以及即将支持的功能。

真机相比,模拟器暂时只支持部分Kit,以下是模拟器对各种Kit的支持情况。

说明

使用x86模拟器时,C++工程及三方库需要编译出x86_64版本的so,请在build-profile.json5中externalNativeOptions/abiFilters的值中增加"x86_64",具体编译配置请参见externalNativeOptions

应用框架

表1

Kit名称

ARM版本

X86版本

备注

Ability Kit

-

Accessibility Kit

-

ArkData

部分支持

部分支持

分布式能力不支持

ArkTS

-

ArkUI

部分支持

部分支持

不支持heif类型的图片

ArkWeb

-

Background Tasks Kit

-

Core File Kit

部分支持

部分支持

分布式能力不支持

Form Kit

部分支持

部分支持

分布式能力不支持

IME Kit

-

IPC Kit

-

Localization Kit

-

UI Design Kit

-

安全

表2

Kit名称

ARM版本

X86版本

备注

Asset Store Kit

-

Crypto Architecture Kit

-

Data Protection Kit

-

Device Certificate Kit

-

Device Security Kit

-

Enterprise Data Guard Kit

-

Online Authentication Kit

-

Universal Keystore Kit

-

User Authentication Kit

部分支持

部分支持

仅支持口令认证

网络

表3

Kit名称

ARM版本

X86版本

备注

Connectivity Kit

部分支持

部分支持

仅支持wifi相关能力

Distributed Service Kit

-

Network Kit

部分支持

部分支持

支持桥接本地计算机网络

Network Boost Kit

-

Remote Communication Kit

-

Service Collaboration Kit

-

Telephony Kit

-

基础功能

表4

Kit名称

ARM版本

X86版本

备注

Basics Service Kit

部分支持

部分支持

usb、热管理、设备认证不支持

Function Flow Runtime Kit

-

Input Kit

-

MDM Kit

-

Status Bar Extension Kit

-

硬件

表5

Kit名称

ARM版本

X86版本

备注

Car Kit

-

Driver Development Kit

-

MultimodalAwareness Kit

-

Pen Kit

-

Sensor Service Kit

部分支持

部分支持

支持部分传感器,参见虚拟传感器

Wear Engine Kit

-

调测调优

表6

Kit名称

ARM版本

X86版本

备注

Performance Analysis Kit

-

Test Kit

-

媒体

表7

Kit名称

ARM版本

X86版本

备注

Audio Kit

-

AVCodec Kit

部分支持

部分支持

仅支持软编码,H265编码不支持

AVSession Kit

-

Camera Kit

-

DRM Kit

-

Image Kit

-

Media Kit

部分支持

部分支持

不支持录像、拍照/扫码和屏幕录制

Media Library Kit

部分支持

部分支持

分布式能力不支持

Scan Kit

-

Ringtone Kit

-

图形

表8

Kit名称

ARM版本

X86版本

备注

AR Engine

-

ArkGraphics 2D

暂不支持OpenGL ES 3.0以上接口

ArkGraphics 3D

-

Graphics Accelerate Kit

-

XEngine Kit

-

应用服务

表9

Kit名称

ARM版本

X86版本

备注

Account Kit

-

Ads Kit

-

Calendar Kit

-

Call Kit

-

Cloud Foundation Kit

-

Contacts Kit

-

Game Service Kit

-

Health Service Kit

-

IAP Kit

-

Location Kit

部分支持

X86版本不支持地理逆编码

Map Kit

-

Notification Kit

-

Payment Kit

-

PDF Kit

-

Preview Kit

-

Push Kit

-

Scenario Fusion Kit

-

Share Kit

-

Store Kit

-

Wallet Kit

-

Weather Service Kit

-

AI

表10

Kit名称

ARM版本

X86版本

备注

Core Speech Kit

-

Core Vision Kit

-

HiAI Foundation Kit

-

Intents Kit

-

MindSpore Lite Kit

-

Natural Language Kit

-

Neural Network Runtime Kit

-

Speech Kit

-

Vision Kit

-

NDK开发

表11

Kit名称

ARM版本

X86版本

备注

NDK

支持

部分支持

X86版本暂不支持libjsvm

其他

除Kit外,在其他场景下,模拟器和真机的能力也存在差异,具体如下表:

表12

场景

能力

ARM版本

X86版本

备注

预置应用

 

 

 

 

小艺输入法

-

文件管理

部分支持

X86版本不支持文件删除

设置

-

图库

-

浏览器

-

三方框架

 

React Native

-

Taro

-

元服务

域名管控(配置服务器域名

模拟器元服务域名访问不管控,不需要配置服务器域名

 

-

七、x86和arm模拟器的差异
x86平台与arm平台PC上的模拟器也存在一些差异。因为芯片架构的差异,如果应用需要在x86模拟器上运行Native工程,需要编译出x86_64版本的so,所涉及的C++源码与第三方库,都需要有x86_64版本,所以若工程中有C++源码,则需要在模块级build-profile.json5的abiFilters字段下加上x86_64选项,这样就可以编译出x86_64的so包。缺少x86_64库时,安装HAP会提示:“code:956834 error: install parse native so failed”错误。

 

posted @ 2024-10-16 14:29  为敢技术  阅读(118)  评论(0编辑  收藏  举报