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

相关推荐
奔跑的露西ly2 小时前
【HarmonyOS NEXT】常见的性能优化
华为·性能优化·harmonyos
2501_915918412 小时前
HTTP抓包工具推荐,Fiddler使用教程、代理设置与调试技巧详解(含HTTPS配置与实战案例)
http·ios·小程序·https·fiddler·uni-app·webview
hashiqimiya3 小时前
harmonyos的鸿蒙的跳转页面的部署参数传递
华为·harmonyos
七个昵称3 小时前
H5扫描识别条形码
uni-app
QuantumLeap丶5 小时前
《uni-app跨平台开发完全指南》- 03 - Vue.js基础入门
前端·vue.js·uni-app
一点七加一5 小时前
Harmony鸿蒙开发0基础入门到精通Day13--ArkScript篇
华为·harmonyos
程序员老刘6 小时前
Flutter官方拒绝适配鸿蒙的真相:不是技术问题,而是...
flutter·harmonyos·客户端
平平不平凡7 小时前
鸿蒙组件分级指南:从细胞到思维的系统化角色解析
harmonyos
你算哪颗溜溜梅8 小时前
uni.scanCode vs MpaasScan:支付宝扫码识别赢麻了,保姆级教程来咯~
javascript·uni-app
m0_685535088 小时前
手机镜头设计
华为·光学·光学设计·光学工程·镜头设计