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

相关推荐
James. 常德 student3 小时前
华为 ai 机考 编程题解答
java·人工智能·华为
2501_916013744 小时前
苹果应用上架全流程指南 iOS 应用发布步骤、App Store 审核流程、ipa 文件上传与 uni-app 打包实战经验
android·ios·小程序·uni-app·cocoa·iphone·webview
Devil枫4 小时前
鸿蒙后台定时任务实战
华为·harmonyos
猫林老师6 小时前
HarmonyOS 5响应式布局在多设备适配中的应用
华为·harmonyos
2501_919749037 小时前
鸿蒙:使用bindPopup实现气泡弹窗
华为·harmonyos
宇宙老魔女7 小时前
APP应用接入华为推送SDK
华为
江湖有缘7 小时前
基于华为openEuler系统安装PDF查看器PdfDing
华为·pdf
2501_915921437 小时前
HTTPS 映射如何做?(HTTPS 映射配置、SNI 映射、TLS 终止、内网映射与 iOS 真机验证实战)
android·网络协议·ios·小程序·https·uni-app·iphone
鸿蒙小白龙8 小时前
openharmony之充电空闲状态定制开发
harmonyos·鸿蒙·鸿蒙系统·open harmony