跳到主要内容

模拟器与真机的差异

模拟器是开发和调试HarmonyOS应用/元服务的便捷工具,例如不需要配置服务器域名即可开发和调试元服务,在大多数情况下,模拟器上推包调试不需要签名,但部分Kit仍需签名后才能正常运行,具体要求请参考Kit的开发指南。

由于模拟器和真机在硬件和能力上存在差异,部分功能场景仍需在真机上进行开发。您可以通过阅读本文档来决定哪些功能在模拟器中测试,哪些功能在真机上测试。

性能差异

模拟器是运行在Mac或Windows电脑上的虚拟机应用,会使用电脑的硬件资源,包括CPU、内存和网络连接等。这些资源在容量和速度上可能与真机存在显著差异。因此,模拟器不适合用于测试应用/元服务的性能(如数据处理、图形渲染、网络速度)、资源占用(如内存、CPU、功耗),模拟器的性能测试结果仅能用于评估应用功能的相对差异。如需获取真实场景下的用户体验数据,建议在真机上进行测试。

显示效果差异

  • 模拟器使用电脑的显示器,与真机屏幕不同,可能会导致文本和图像在模拟器上出现边缘锯齿。放大模拟器窗口比例可以使文字和图像更清晰。
  • 电脑屏幕的色域范围可能与移动设备不同,从而导致颜色显示不准确。
  • 模拟器不支持屏幕亮度调节。

图形接口差异

  • Mac模拟器不支持OpenGL ES 3.1、3.2接口。
  • DevEco Studio 6.1.0 Beta2之前的版本,不支持Vulkan接口,从DevEco Studio 6.1.0 Beta2版本开始,支持除vkGetSwapchainGrallocUsageOHOS、vkAcquireImageOHOS、vkQueueSignalReleaseImageOHOS之外的接口。

多媒体差异

  • 模拟器不支持heif格式的图片。
  • 视频播放:模拟器仅支持h264文件格式,并且是RGBA像素格式的视频文件。
  • 模拟器不支持视频录制/转码/处理、屏幕录像。

Kit能力差异

当前部分Kit在模拟器上使用时,和真机存在差异,具体请参考对应Kit简介。

如遇到因Kit能力不支持导致的应用闪退问题,可以尝试使用动态引入Kit的方式规避此异常问题。

Kit不支持导致的报错信息如:

LastFatalMessage:[default] [LoadJSPandaFile:00] resolveBufferCallback get hsp buffer failed,hsp path:/data/storage/el1/bundle/com.huawei.hmos.{KitName}.kit

其他差异

表1

模拟器和真机的其他重要差异影响场景
SIM卡不支持拨打电话、发送短信
USB不支持连接、数据传输
蓝牙不支持蓝牙设备扫描、连接、数据传输
星闪不支持星闪设备扫描、连接、数据传输、分布式能力
NFC不支持NFC卡片读写、刷卡
TEE(Trusted Execution Environment,可信执行环境)不支持安全GPS、设备证书等,部分安全相关Kit暂不支持,详情参考安全Kit简介
NPU部分AI相关Kit暂不支持,详情参考AI Kit简介
生物识别不支持指纹、人脸认证等
摄像头/麦克风依赖电脑设备,不支持多摄像头切换(广角/长焦)、闪光灯、降噪算法等
电源模拟电源,不支持温控、快充等场景