uniapp x鸿蒙开发之运行到鸿蒙模拟器

运行和发行注意

uni-app x编译到鸿蒙运行在ArkTS引擎上,ArkTS在鸿蒙的ide deveco中没有热刷新。每次改动代码,需要重新build包、签名、安装新包到手机。

这与uni-app不同,uni-app基于js,可以热刷新。

所以uts的运行,需要在本地安装鸿蒙deveco,本地直接编译出包。既然本地可以出包,那么鸿蒙就没有做云打包。这也是和Android和iOS的云打包的区别。

uni-app 因使用jsvm,而鸿蒙模拟器自身在某些CPU上还未适配好jsvm,导致开发者使用模拟器受限。但uni-app x在鸿蒙模拟器运行不受限制。

HBuilderX自身提供了运行、日志、debug、发行、调试证书申请等全套功能,开发者安装deveco后,可以做到不启动deveco,在HBuilderX中完成所有开发。

证书和权限

  • 鸿蒙的证书和权限体系较复杂,和iOS类似。开发者需要在鸿蒙开发者官网仔细了解其证书和权限体系。

  • 如果运行到模拟器,是不需要证书的

  • 运行到真机时,需要使用调试证书对应用进行签名后才能在指定的开发设备安装。

  • 证书中绑定了权限,如果变更权限,需要更新证书。调试证书还绑定了开发设备。

  • 对于不涉及受限权限的情况,在HBuilderX的运行界面中可以自助申请调试证书。

  • 鸿蒙的权限配置在harmony-config目录下,需要自行参考鸿蒙文档配置。且不支持根据使用的模块自动打包权限。比如使用了定位API,打包时并不会自动带上定位权限。需要自行配置好权限后再打包。

运行到鸿蒙模拟器

打开hbuilder x --运行--运行到手机或模拟器--运行到鸿蒙

首次运行会自动生成 harmony-configs 配置目录。

在鸿蒙运行配置中设置 DevEco Studio 的安装路径。

重新打开可能会出现安装【App真机运行(unapp x)】插件提示,按步骤安装即可

再次打开可能还会出现如下情况,按步骤启动模拟器即可:

启动鸿蒙模拟器

鸿蒙模拟器只能在 DevEco Studio 中启动。 在 DevEco Studio 中打开任意一个项目(也可以新建一个空项目),然后在下图的位置进入设备管理器:

如果没有登录华为账号,此时需要先登录,登录成功后看到如下页面

选择模拟器型号,选第一个即可

安装完模拟器后,点击启动按钮启动模拟器

返回上边步骤,点击Hbuilder x运行,就会出现如下页面,点击运行

如果运行时出现签名证书资料配置错误问题,在【运行到鸿蒙】操作的【选择运行设备】对话框中,点击【配置调试证书】按钮,打开配置对话框:


配置完之后即可运行到鸿蒙模拟器

证书资料文件

需要设置的文件总共有三个:

  • 私钥库文件(.p12):里面保存着数字签名用的私钥,由开发者自己手动生成或者 DevEco Studio 自动申请调试证书时自动生成。有两层密码保护(私钥库密码和私钥密码),须妥善保管,尤其是发布证书的私钥一定不能泄露。

  • 证书文件(.cer):由华为签署颁发,用于证明开发者的身份。在 AppGallery Connect 手动申请并下载获得,或者在自动生成调试证书时自动下载。

  • 签名描述文件(.p7b):由华为颁发,里面包含了跟应用相关的签名信息,如包名、ACL 权限等,调试证书还包括可用于调试运行的设备列表。在 AppGallery Connect 手动添加并下载获得,或者在自动生成调试证书时自动下载。

如果已经在 AppGallery Connect 中手动申请过证书,则开发者手中应该已经掌握了所有的必备信息(三个文件,两个密码和一个私钥别名),填写到对话框中即完成配置。 其中三个文件的位置如果位于 harmony-configs 目录里面,则会被处理为相对路径。

如果是通过 DevEco Studio 自动申请的调试证书,在 build-profile.json5 文件里能找到完整的证书配置信息。 需注意的是,在保存那三个文件的目录里还应该有一个 material 子目录,它跟私钥库文件(.p12)和两个密码是配合使用的,如果想把私钥库文件移到别的地方去,这个 material 目录也要复制过去(否则密码将失效)。

关于证书配置可参考:https://blog.csdn.net/chensi_07/article/details/152043339?spm=1001.2014.3001.5501

相关推荐
风华圆舞16 分钟前
鸿蒙 + Flutter 下 AI 助手为什么要支持流式输出
人工智能·flutter·harmonyos
金启攻1 小时前
【鸿蒙原生应用实战】第四篇:打包清单——勾选交互、进度计算与实用工具
harmonyos
Swift社区1 小时前
鸿蒙 App 卡顿分析:定位方法 + 优化代码实战
华为·harmonyos
坚果派·白晓明2 小时前
鸿蒙 PC 应用集成 libhv 鸿蒙化三方库 —— AtomCode + Skills 驱动的高效集成实践
c语言·c++·ai编程·harmonyos·atomcode
Geek_Vison3 小时前
2026 跨端框架横评:FinClip、Taro、uni-app、Remax、mPaaS 五款工具技术+业务双维度测评
小程序·uni-app·taro·mpaas·小程序容器
祭曦念3 小时前
【共创季稿事节】HarmonyOS动态任务列表开发实战
华为·harmonyos
祭曦念3 小时前
【共创季稿事节】鸿蒙原生ArkTS动态列表布局实战_State_ForEach完整指南
华为·harmonyos
不羁的木木4 小时前
《HarmonyOS 6.1 新能力实战之智感握姿》第二篇:核心功能——查询与监听握持手状态
华为·harmonyos
风华圆舞4 小时前
鸿蒙 + Flutter 下 AI 页面的状态协同设计
人工智能·flutter·harmonyos
互联网散修4 小时前
鸿蒙实战:仿小红书“我”的页面——从分层架构到沉浸式交互
交互·harmonyos