随着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 #应用开发