??大家好,我是阿趙。
??這里嘗試一下用團結引擎發布純鴻蒙系統的應用。
一、 安裝鴻蒙系統發布需要的組件
??在團結引擎的Hub里面找到Add modules:
??然后找到OpenHarmony的支持選項,由于我已經安裝過了,所以會顯示Installed,如果沒有安裝過,會顯示勾選項,勾上并且安裝就行。如果看到有NodeJS的項,這里也可以一起安裝。不過我的團結Hub不知道為什么沒有NodeJS,所以就不能通過Hub安裝。
二、 嘗試發布
??在團結引擎里面,簡單做了個場景,顯示了一行字:
??然后在發布界面,選擇OpenHarmony,切換到該平臺
??接下來,點擊Build ,選擇一個目錄進行發布。
??這時候發布失敗,查看報錯:
CommandInvokationFailure: Unable to sync.
F:\work\projectTuanjie\HongmengTest/Temp/StagingArea\OpenHarmonyAppTemplate/hvigorw.bat
–sync -p product=default --no-daemonstderr[
] stdout[
ERROR: NODE_HOME is not set and no ‘node’ command could be found in
your PATH.Please set the NODE_HOME variable in your environment to match the
location of your NodeJs installation. ] exit code: 1
??出現這個NODE_HOME的保存,其實就是因為剛才在Hub里面沒有找到NodeJS安裝導致的。
??所以現在需要自己手動安裝一下NodeJS。
三、 安裝NodeJs
??去NodeJS的主頁下載安裝包:網址
??由于我之前在網上查詢到需要NodeJS12版本,所以我就選擇了v12的版本來下載:
??下載完之后安裝:
??然后添加NODE_HOME的環境變量:
??NODE_HOME,變量值為安裝路徑
??再在系統變量的【path】中添加
%NODE_HOME%
%NODE_HOME%\node_global
%NODE_HOME%\node_cache
??這個時候,在cmd里面輸入node -v,可以看到NodeJS是已經成功安裝了,版本是v12.22.12:
??然后到設置里面的擴展工具,設置NodeJS的路徑:
??接下來再次嘗試Build,然后還是報錯:
CommandInvokationFailure: Unable to sync.
F:\work\projectTuanjie\HongmengTest/Temp/StagingArea\OpenHarmonyAppTemplate/hvigorw.bat
–sync -p product=default --no-daemonstderr[ npm notice created a lockfile as package-lock.json. You should
commit this file. npm WARN notsup Unsupported engine for pnpm@7.30.0:
wanted: {“node”:“>=14.6”} (current:
{“node”:“12.22.12”,“npm”:“6.14.16”}) npm WARN notsup Not compatible
with your version of node/npm: pnpm@7.30.0 npm WARN tools No
description npm WARN tools No repository field. npm WARN tools No
license field.
??從報錯可以看出,是因為NodeJS的版本不對,這里提示需要>=14.6
??所以再次回到NodeJS主頁,下載v14的版本:
??再次安裝。需要注意的是,如果不是通過Hub安裝的,在擴展工具里面會提示我們Node.js的SDK版本不支持。不用管它,設置完就行了。
??這里有些朋友可能會問,我直接安裝最新的NodeJS行不行?從理論上來說是行的,因為它的提示只是>=14.6 。
但由于NodeJS從某個版本,好像是18開始,就開始啟用corepack來管理包,然后使用pnpm來代替了npm,所以需要自己手動開啟pnpm,然后會發現pnpm版本和corepack的版本問題,導致各種安裝的問題。需要花時間去處理:
corepack enable pnpm
Cannot find matching keyid: ${JSON.stringify({ signatures, keys })}
);
??所以我為了省事,直接安裝v14版本,就沒問題了。
四、 再次嘗試發布
??回到團結引擎,再次Build,這次發現可以正常的發布處鴻蒙應用了,有一個app文件,一個hap文件和一個il2CppBackup文件夾:
??把hap文件拖入鴻蒙模擬器:
??會報錯hap/hsp 中集成的.so缺少"x86_64"abi類型:
??其實就是庫文件缺少了x86_64支持,回到團結引擎的Player Settings,然后找到Target Architectures,把需要支持的目標都勾選上:
??再次發布,然后把hap拖入模擬器,發現安裝成功了:
??可以運行: