随着HarmonyOS生态的蓬勃发展,越来越多的开发者开始投入到HarmonyOS应用开发中来。在开发过程中,模拟器作为开发者的得力助手,能够大大提升开发效率和测试便利性。然而,模拟器与真机之间存在一些功能差异,了解这些差异对于开发规划和效率提升至关重要。本文将为您详细梳理HarmonyOS模拟器的功能支持情况,帮助您在开发之初就做好充分准备,避免在开发过程中遇到意外惊喜。
开发环境特别说明
在使用x86模拟器进行C++工程开发时,需要特别注意:所有三方库都需要编译出x86_64版本的so文件。开发者需要在build-profile.json5中的externalNativeOptions/abiFilters值中添加”x86_64”选项。
功能支持概览
核心功能支持情况
完全支持的基础功能
- Ability Kit
- ArkTS
- Background Tasks Kit
- IME Kit
- IPC Kit
- Localization Kit
部分支持的核心功能
- ArkData(不支持分布式能力)
- ArkUI(不支持heif格式图片)
- Core File Kit(不支持分布式能力和AudioViewPicker)
- Form Kit(不支持分布式能力)
安全功能支持
完全支持
- Asset Store Kit
- Crypto Architecture Kit
- Device Certificate Kit
- Universal Keystore Kit
部分支持
- User Authentication Kit(仅支持口令认证)
网络与通信
部分支持
- Connectivity Kit(支持wifi相关功能)
- Network Kit(支持桥接本地计算机网络)
完全支持
- Remote Communication Kit
媒体功能支持
完全支持
- Audio Kit
- Image Kit
部分支持
- AVCodec Kit(支持音频编解码和H264视频软解码)
- Media Kit(不支持录像、拍照/扫码和屏幕录制)
- Media Library Kit(不支持分布式能力)
图形与渲染
- ArkGraphics 2D部分支持:
- 不支持OpenGL ES 3.0以上接口
- 视频仅支持RGBA格式像素
应用服务支持
完全支持
- Calendar Kit
- Notification Kit
特殊支持情况
- Location Kit(X86版本不支持地理逆编码)
- Push Kit(仅ARM版本支持部分功能)
开发工具支持
- NDK支持情况:
- ARM版本:完全支持
- X86版本:部分支持(不支持libjsvm)
预置应用与框架支持
基础应用支持
- 小艺输入法(完全支持)
- 文件管理(部分支持)
- 设置(完全支持)
- 图库(完全支持)
- 浏览器(仅ARM版本支持)
三方框架支持
- Flutter(仅ARM版本部分支持,不支持视频播放)
- React Native和Taro暂不支持
特别说明
文件管理限制
- 不支持.pdf/.pptx/.xlsx/.docx文件格式预览
- X86版本不支持文件删除功能
元服务特性
- 模拟器元服务域名访问不受管控
- 无需配置服务器域名
开发建议
在选择开发方案时,建议优先考虑已获得完全支持的功能模块。
如需使用仅部分支持的功能,请提前验证具体场景是否满足项目需求。
对于依赖硬件特性的功能(如相机、传感器等),建议在真机上进行测试验证。
C++项目开发时,需特别注意x86_64版本so的编译配置。
表格对比参看:
#HarmonyOS开发 #模拟器配置 #应用开发