随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 80424

鸿蒙 OS 适配指南

鸿蒙 OS 适配指南

基础库从 3.7.0 起正式支持鸿蒙 OS 平台,后续与其它平台一致,通过后台灰度更新基础库,开发者工具可在详情 - 本地设置 - 调试基础库切到 3.7.0 版本进行开发调试。

架构概览

小程序在鸿蒙 OS 平台的运行环境与安卓类似,即逻辑层的 JavaScript 代码运行在 v8 中,视图层是基于鸿蒙 OS 原生的 ArkWeb 引擎来渲染,而 Skyline 渲染引擎在支持中,暂未提供。

此外,小程序的运行机制、更新机制、组件框架等均保持一致,但在一些特性支持度上会有区别。

适配方式

目前小程序在鸿蒙 OS 平台与其它平台的区别主要是 WebView 引擎及涉及原生能力的特性上。

前者在鸿蒙 OS 上使用的是 ArkWeb 引擎,可能存在一些依赖 WebView 的特性上的差异,如 CSS 样式相关,这类问题需按实际情况兼容;

后者大多是与组件/接口相关,可通过 wx.canIUse 接口或者通过 wx.getDeviceInfo().platform === 'ohos' 判断,对业务逻辑做必要的兼容。

调试方式

  • 通过开发者工具调试
  1. 下载最新的nightly版开发者工具,通过最新开发者工具调试
  2. 调试基础库版本选择3.7.0
  3. 选择「小程序模式」,并选择华为鸿蒙机型
  4. 支持使用 wx.canIUse 判断接口是否可使用
  • 通过真机调试

目前已对外提供公测版微信,可在鸿蒙 OS 的应用商店下载,操作路径为:鸿蒙 next 应用商店 - 我的 - 应用尝鲜,下拉找到微信,安装后即可正常打开小程序进行调试。

支持情况

以下罗列出暂未支持的特性,对使用到未支持的特性需做好兼容。其中组件/接口具体的支持情况可跳转至对应文档查看,部分支持的一般代表少数高阶功能不支持

框架

特性 支持情况
Skyline 渲染引擎 支持中
初始渲染缓存 不支持
暗黑模式 不支持
周期性更新 不支持
数据预拉取 不支持
后台运行 不支持
无障碍访问 不支持
分享朋友圈 不支持

组件

组件 支持情况
无障碍访问 不支持
page-container 部分支持
scroll-view 部分支持
button 部分支持
input 部分支持
keyboard-accessory 不支持
textarea 部分支持
channel-live 不支持
channel-video 不支持
live-pusher 部分支持
video 部分支持
voip-room 不支持
map 部分支持
canvas 部分支持
ad/ad-custom 不支持
official-account 不支持
xr-frame 不支持
web-view 部分支持

接口

模块 接口 支持情况
基础-系统 wx.getSkylineInfo / wx.getSkylineInfoSync 不支持
基础-生命周期 wx.onApiCategoryChange / wx.offApiCategoryChange / wx.getApiCategory 不支持
基础-应用级事件 wx.onThemeChange / wx.offThemeChange / wx.onAudioInterruptionEnd / wx.onAudioInterruptionBegin / wx.offAudioInterruptionEnd / wx.offAudioInterruptionBegin 不支持
基础-性能 wx.preloadWebview / wx.preloadSkylineView 不支持
路由-自定义路由 - 支持中
跳转 wx.openEmbeddedMiniProgram / wx.onEmbeddedMiniProgramHeightChange / wx.offEmbeddedMiniProgramHeightChange 不支持
转发 wx.showShareImageMenu / wx.onCopyUrl / wx.offCopyUrl 不支持
界面-交互 wx.enableAlertBeforeUnload / wx.disableAlertBeforeUnload 支持中
界面-滚动 ScrollViewContext 不支持
界面-置顶 wx.setTopBarText 不支持
界面-窗口 - 不支持
界面-worklet动画 - 支持中
网络-mDNS - 不支持
支付 wx.requestCommonPayment / wx.requestVirtualPayment / wx.openHKOfflinePayView 不支持
数据缓存 wx.revokeBufferURL / wx.createBufferURL 不支持
数据缓存-数据预拉取和周期性更新 wx.getBackgroundFetchData / wx.onBackgroundFetchData / wx.setBackgroundFetchToken / wx.getBackgroundFetchToken 不支持
数据缓存-缓存管理器 - 不支持
画布 - 部分支持
媒体-地图 executeVisualLayerCommand / addVisualLayer / removeVisualLayer / addGroundOverlay / updateGroundOverlay / removeGroundOverlay / MapContext.on 不支持
媒体-图片 wx.cropImage / wx.editImage / wx.chooseMessageFile 不支持
媒体-视频 wx.openVideoEditor / wx.compressVideo 不支持
媒体-音频 只支持 WebAudio 不支持
媒体-录音 - 不支持
媒体-音视频合成 - 不支持
媒体-实时语音 - 不支持
媒体-画面录制器 - 不支持
媒体-视频解码器 - 不支持
开放接口-收货地址 - 不支持
开放接口-卡券 - 不支持
开放接口-发票 - 不支持
开放接口-生物认证 - 不支持
开放接口-微信运动 - 不支持
开放接口-订阅消息 - 不支持
开放接口-收藏 - 支持中
开放接口-车牌 - 不支持
开放接口-视频号 - 不支持
开放接口-微信客服 - 不支持
开放接口-微信表情 - 不支持
设备-蓝牙-通用 wx.makeBluetoothPair / wx.isBluetoothDevicePaired 不支持
设备-蓝牙-低功耗中心设备 wx.getBLEMTU 不支持
设备-NFC读写 - 不支持
设备-联系人 wx.addPhoneContact 不支持
设备-无障碍 - 不支持
设备-电量 wx.onBatteryInfoChange / wx.offBatteryInfoChange 不支持
设备-NFC主机卡模拟 - 不支持
设备-网络 - 不支持
设备-屏幕 wx.onScreenRecordingStateChanged / wx.offScreenRecordingStateChanged / wx.getScreenRecordingState 不支持
设备-内存 - 不支持
设备-扫码 - 不支持
AI - 不支持
Worker - 支持中
广告 - 不支持
Skyline - 支持中
XR-FRAME - 不支持
posted on   AtlasLapetos  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示