随着HarmonyOS生态的蓬勃发展,越来越多的开发者开始投入到HarmonyOS应用开发中来。在开发过程中,模拟器作为开发者的得力助手,能够大大提升开发效率和测试便利性。然而,模拟器与真机之间存在一些功能差异,了解这些差异对于开发规划和效率提升至关重要。本文将为您详细梳理HarmonyOS模拟器的功能支持情况,帮助您在开发之初就做好充分准备,避免在开发过程中遇到意外惊喜。
HarmonyOS开发必读:模拟器配置全攻略和真机差异
在HarmonyOS应用开发过程中,模拟器是开发者最常用的调试工具之一。今天,我们就来详细了解一下DevEco Studio中模拟器的配置要求和使用规范,以及模拟器与真机的差异。
一、基础环境要求
要想流畅运行HarmonyOS模拟器,您的开发设备需要满足以下基本要求:
处理器要求:
- Intel处理器:支持Intel VT-x、EM64T和Execute Disable Bit
- AMD处理器:支持AMD-V
操作系统要求:
- Windows:64位Windows 10/11
- macOS:10.15及以上版本
- Linux:Ubuntu 20.04及以上版本
内存要求:
- 最低配置:8GB
- 推荐配置:16GB及以上
二、模拟器规格详解
手机模拟器规格
| 设备名称 | 分辨率 | 屏幕尺寸 | DPI | 内存 |
|---|---|---|---|---|
| MobileL | 720 x 1280 | 4.7英寸 | 320 | 4GB |
| MobileM | 1080 x 1920 | 5.5英寸 | 480 | 4GB |
| MobileS | 720 x 1280 | 4.3英寸 | 320 | 4GB |
平板模拟器规格
| 设备名称 | 分辨率 | 屏幕尺寸 | DPI | 内存 |
|---|---|---|---|---|
| TabletL | 2560 x 1600 | 10.1英寸 | 320 | 4GB |
| TabletM | 1600 x 2560 | 8英寸 | 320 | 4GB |
| TabletS | 1200 x 1920 | 7英寸 | 320 | 4GB |
#智慧屏模拟器规格
| 设备名称 | 分辨率 | 屏幕尺寸 | DPI | 内存 |
|---|---|---|---|---|
| TVLCD | 1920 x 1080 | 43英寸 | 320 | 4GB |
三、性能优化建议
为了获得最佳的模拟器运行体验,我们建议您:
开启硬件虚拟化
- Intel处理器:在BIOS中启用Intel VT-x
- AMD处理器:在BIOS中启用AMD-V
合理分配系统资源
- 确保系统有足够的可用内存
- 避免同时运行多个资源密集型应用
定期维护
- 及时清理模拟器缓存
- 保持DevEco Studio为最新版本
与真机相比,模拟器暂时只支持部分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 | 部分支持 | 部分支持 | 不支持分布式能力、AudioViewPicker |
| 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版本 | 备注 |
|---|---|---|---|
| Basic Services 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 | 部分支持 | 部分支持 | 支持音频编解码、H264视频软解码 |
| 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以上接口视频仅支持RGBA格式的像素 |
| 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 | 部分支持 | 否 | ARM版本支持getToken、deleteToken、getAAID、deleteAAID、bindAppProfileId、unbindAppProfileId ARM版本支持推送通知消息、推送卡片刷新消息、推送后台消息 |
| 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版本 | 备注 |
|---|---|---|---|---|
| 预置应用 | 小艺输入法 | 是 | 是 | - |
| 文件管理 | 部分支持 | 部分支持 | ARM/X86版本不支持.pdf/.pptx/.xlsx/.docx文件格式预览 X86版本不支持文件删除 | |
| 设置 | 是 | 是 | - | |
| 图库 | 是 | 是 | - | |
| 浏览器 | 是 | 否 | - | |
| 三方框架 | React Native | 否 | 否 | - |
| Taro | 否 | 否 | - | |
| Flutter | 部分支持 | 否 | ARM版本暂不支持视频播放 | |
| 元服务 | 域名管控(配置服务器域名) | 模拟器元服务域名访问不管控,不需要配置服务器域名 | - |
五、常见问题解决
模拟器启动失败
- 检查是否开启硬件虚拟化
- 验证系统资源是否充足
模拟器运行卡顿
- 关闭不必要的后台程序
- 适当增加分配给模拟器的内存
结语
选择合适的模拟器规格,对于提升开发效率至关重要。建议开发者根据自己的项目需求和设备性能,选择最适合的模拟器配置。同时,请务必确保开发环境满足基本要求,这样才能获得流畅的开发体验。
如果您在使用过程中遇到问题,欢迎查阅华为开发者联盟的官方文档或在社区中寻求帮助。
#HarmonyOS开发 #DevEco Studio #应用开发