记录uniapp运行到鸿蒙流程及遇到的坑们
·
摘录
本文在25年前已停止更新,作者转鸿蒙原生了,实在是用了太多不支持的api懒得排查了;
感谢你看到这篇文章,祝愿大家前程似锦、鹏程万里!HBuilder X 4.28版本及以前的无法将cli创建的uniapp打包成鸿蒙离线SDK,报错如下
必须要vue3的项目才可以运行到鸿蒙
2024/10/16 更新了一部分文档内没有的报错在文章末尾
1. 下载HUAWEI DevEco Studio,内置Harmony next模拟器
博主使用版本是5.0.3.900
HUAWEI DevEco Studio文档
HUAWEI DevEco Studio下载地址
2. 新建模拟器
- Create Project 新建一个示例项目
- 点击File Settings Plugins添加中文汉化插件, 搜索Chinese安装后Apply在OK重启


- 找到设备管理器,添加模拟器设备

- 修改底部本地模拟器路径,找个内存多的盘新建文件夹存放模拟器

- 点击右下角新建模拟器,修改本地映像位置,博主是与模拟器存放同一盘新建了文件夹,下载第一项Huawei_Phone,点击下一步

- 虚拟设备配置时,内存选择6GB,存储空间选择12GB(内存大一些,不然可能会导致模拟器启动失败,具体表现为刚开启,runing一段时间后自动停止)

- 点击完成按钮,新增好之后点击模拟器的绿色播放按钮,尝试启动
- 如果提示未开启Hyper-v,可按后续步骤配置,其他错误请参考模拟器启动常见问题
- 在控制面板的程序中点击
启动或关闭Windows功能

- 开启Hyper-v,Windows虚拟机监控程序平台,虚拟机平台

- 如果无Hyper-v选项,在桌面新建文本文档,将如下代码粘贴进去,保存后重命名为
Hyper.cmd,以管理员身份运行,等待安装Hyper-v结束。安装结束后重复步骤9,关闭Hyper-v后保存,重启电脑。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
- 重启电脑后重复步骤9、步骤10,开启Hyper-v,Windows虚拟机监控程序平台,虚拟机平台。如果Hyper-V无法全部开启
提示无法安装hyper-v该固件中的虚拟化支持被禁用,查看后续步骤 - 关机后开机,一直点按F2或者F10(因电脑而异)进入BIOS,找到Virtualization Technology(找不到可搜索,一般在system下面),把disable改成enable。开机后重复步骤9、步骤10。再尝试在设备管理器中启动新建的模拟器。
3. uniapp打包成鸿蒙离线sdk
-
下载 uni-app 鸿蒙离线SDK template-1.3.4.tgz https://web-ext-storage.dcloud.net.cn/uni-app/harmony/zip/template-1.3.4.tgz
下载好后解压,将
package文件夹复制到项目文件盘,随后改名(英文+下划线)如果有多个项目需要运行到鸿蒙,需要重复
将package文件夹复制到项目文件盘,随后改名(英文+下划线)步骤,否则会冲突,鸿蒙设备上目前没有基座概念此时可用步骤1下载的DevEco打开改名后的文件夹。
-
在HBuilder X中点击 工具 设置,找到运行配置,修改鸿蒙运行配置,修改成你安装HUAWEI DevEco Studio的位置(我的浏览路径是D:\Web\Huawei\DevEco Studio\bin\devecostudio64.exe,取bin之前的路径即可)

-
在HBuilder X中打开你的uniapp项目,修改
manifest.json文件源码视图,配置鸿蒙离线SDK路径(即步骤1的解压之后重命名的路径)
"app-harmony": {
"projectPath": "E:\\deveco_hbuilder"
},

- 点击运行->运行到鸿蒙

之后点击刷新设备,会显示出你启动成功的模拟器设备(一般是ip命名),点击后会进行打包配置,生成harmony-configs文件之后,可点击重新运行运行可能会报错,此时可参考uniapp官方文档修改
记录一部分遇到的文档内没有的报错
msg:error: failed to install bundle. code:9568332 error: install sign info inconsistent.
有两种可能:
1、由于Hsp、Hap的签名不一致导致的错误,需要确定所有Hsp、Hap是否使用了同一个签名文件。统一签名后再安装,即可解决问题。
2、设备上已经存在同一包名应用,且已存在应用与正在安装的应用签名不同。卸载应用,再进行安装。
解决方式:应用包名在 harmony-configs/AppScrope/app.json5 中修改 app.bundleName"@cashier_alipay/cashiersdk" is imported by "entry/src/main/ets/uni-app-harmony....
1、manifest.json中app模块管理中开启了支付宝支付,运行到x86设备不能使用支付宝支付,真机可调试hvigor ERROR: Could not resolve "./uni-installApk/utssdk/app-harmony" from "entry/src/main/ets/uni_modules/index.generated.ets"
1、停止运行,重新运行后正常打包成功。如果还是报错就重启HBuilderX后运行
更多推荐



所有评论(0)