本文來(lái)源電子發(fā)燒友社區(qū),作者:ALSET, 帖子地址:https://bbs.elecfans.com/jishu_2306880_1_1.html
安裝和創(chuàng)建鴻蒙應(yīng)用(視頻內(nèi)容詳見(jiàn)作者原帖子)
鴻湖萬(wàn)聯(lián)揚(yáng)帆系列“競(jìng)”開(kāi)發(fā)板試用測(cè)評(píng)報(bào)告四 – 開(kāi)源鴻蒙應(yīng)用軟件開(kāi)發(fā)
大信(QQ:8125036)
在成功的實(shí)現(xiàn)系統(tǒng)刷機(jī)方法后,接下來(lái)的一步是開(kāi)始著手建立該開(kāi)發(fā)板的開(kāi)發(fā)環(huán)境。首先閱讀官方提供的開(kāi)發(fā)文檔《軟通動(dòng)力啟航KS_IoT智能開(kāi)發(fā)套件_軟件開(kāi)發(fā)環(huán)境搭建V1》。文檔從環(huán)境要求,軟件工具列表,虛擬機(jī)安裝等做了詳細(xì)的說(shuō)明。這里就按照文檔的操作步驟開(kāi)始搭建開(kāi)發(fā)板的開(kāi)發(fā)環(huán)境。這里使用的VMware Workstation 15Player 虛擬機(jī)軟件,版本為 Ver15.0.2

圖1 OpenHarmony 整體技術(shù)架構(gòu)
一、了解OpenHarmony開(kāi)源項(xiàng)目
在著手基于OpenHarmonyy 應(yīng)用開(kāi)發(fā)之前,首先有必要了解一下OpenHarmony的開(kāi)源項(xiàng)目本身的技術(shù)信息,有利于幫助更好的了解這個(gè)系統(tǒng)的架構(gòu),以便后面更好的上手進(jìn)行開(kāi)發(fā)。這里引用了openharmony 在gitee上的readme里的部分內(nèi)容,從這個(gè)內(nèi)容里可以了解系統(tǒng)的主要架構(gòu)和應(yīng)用軟件的一些規(guī)范定義,比如它的應(yīng)用稱為 FA/PA. FA 就是我們理解的APP,具有UI元素的應(yīng)用,而PA則是后臺(tái)應(yīng)用,無(wú)界面的一種APP,這個(gè)在Android是android service的概念。
OpenHarmonyOS基本介紹
OpenHarmony是由開(kāi)放原子開(kāi)源基金會(huì)(OpenAtom Foundation)的開(kāi)源項(xiàng)目,它面向全場(chǎng)景、全連接、全智能時(shí)代場(chǎng)景下的應(yīng)用,基于開(kāi)源的方式,搭建一個(gè)智能終端設(shè)備操作系統(tǒng)的框架和平臺(tái),促進(jìn)萬(wàn)物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。
系統(tǒng)總體架構(gòu)
· OpenHarmony整體遵從分層設(shè)計(jì),從下向上依次為:內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層。系統(tǒng)功能按照“系統(tǒng) > 子系統(tǒng) > 組件”逐級(jí)展開(kāi),在多設(shè)備部署場(chǎng)景下,支持根據(jù)實(shí)際需求裁剪某些非必要的組件。
內(nèi)核層
· 內(nèi)核子系統(tǒng):采用多內(nèi)核(Linux內(nèi)核或者LiteOS)設(shè)計(jì),支持針對(duì)不同資源受限設(shè)備選用適合的OS內(nèi)核。內(nèi)核抽象層(KAL,Kernel Abstract Layer)通過(guò)屏蔽多內(nèi)核差異,對(duì)上層提供基礎(chǔ)的內(nèi)核能力,包括進(jìn)程/線程管理、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)管理和外設(shè)管理等。
· 驅(qū)動(dòng)子系統(tǒng):驅(qū)動(dòng)框架(HDF)是系統(tǒng)硬件生態(tài)開(kāi)放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問(wèn)能力和驅(qū)動(dòng)開(kāi)發(fā)、管理框架。
系統(tǒng)服務(wù)層
系統(tǒng)服務(wù)層是OpenHarmony的核心能力集合,通過(guò)框架層對(duì)應(yīng)用程序提供服務(wù)。該層包含以下幾個(gè)部分:
· 系統(tǒng)基本能力子系統(tǒng)集:為分布式應(yīng)用在多設(shè)備上的運(yùn)行、調(diào)度、遷移等操作提供了基礎(chǔ)能力,由分布式軟總線、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度、公共基礎(chǔ)庫(kù)、多模輸入、圖形、安全、AI等子系統(tǒng)組成。
· 基礎(chǔ)軟件服務(wù)子系統(tǒng)集:提供公共的、通用的軟件服務(wù),由事件通知、電話、多媒體、DFX(Design For X) 等子系統(tǒng)組成。
· 增強(qiáng)軟件服務(wù)子系統(tǒng)集:提供針對(duì)不同設(shè)備的、差異化的能力增強(qiáng)型軟件服務(wù),由智慧屏專有業(yè)務(wù)、穿戴專有業(yè)務(wù)、IoT專有業(yè)務(wù)等子系統(tǒng)組成。
· 硬件服務(wù)子系統(tǒng)集:提供硬件服務(wù),由位置服務(wù)、用戶IAM、穿戴專有硬件服務(wù)、IoT專有硬件服務(wù)等子系統(tǒng)組成。
根據(jù)不同設(shè)備形態(tài)的部署環(huán)境,基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強(qiáng)軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集內(nèi)部可以按子系統(tǒng)粒度裁剪,每個(gè)子系統(tǒng)內(nèi)部又可以按功能粒度裁剪。
框架層
框架層為應(yīng)用開(kāi)發(fā)提供了C/C++/JS等多語(yǔ)言的用戶程序框架和Ability框架,適用于JS語(yǔ)言的ArkUI框架,以及各種軟硬件服務(wù)對(duì)外開(kāi)放的多語(yǔ)言框架API。根據(jù)系統(tǒng)的組件化裁剪程度,設(shè)備支持的API也會(huì)有所不同。
應(yīng)用層
應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。應(yīng)用由一個(gè)或多個(gè)FA(Feature Ability)或PA(Particle Ability)組成。其中,F(xiàn)A有UI界面,提供與用戶交互的能力;而PA無(wú)UI界面,提供后臺(tái)運(yùn)行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問(wèn)抽象。基于FA/PA開(kāi)發(fā)的應(yīng)用,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能,支持跨設(shè)備調(diào)度與分發(fā),為用戶提供一致、高效的應(yīng)用體驗(yàn)。
開(kāi)發(fā)環(huán)境配置介紹:
· Windwos環(huán)境供開(kāi)發(fā)者參考:
· 內(nèi)存:16G
· 硬盤(pán):1T
· 操作系統(tǒng):Win10, Vmware 15 Player
因?yàn)镺penharmony 還沒(méi)有直接可用的集成開(kāi)發(fā)軟件,因此開(kāi)發(fā)者一般使用基于OpenHarmony開(kāi)發(fā)使用華為的HarmonyOS 的集成開(kāi)發(fā)工具,因?yàn)槿A為HarmonyOS的底層和OpenHarmony是一樣的,所以可以使用華為的集成應(yīng)用開(kāi)發(fā)工具來(lái)做OpenHarmony的應(yīng)用開(kāi)發(fā),開(kāi)發(fā)軟件工具名字叫 DevEco Studio,最新版本為3.0,下面頁(yè)面地址即可下載。
https://developer.harmonyos.com/cn/develop/deveco-studio#download

圖2 安裝集成開(kāi)發(fā)環(huán)境

圖3 配置開(kāi)發(fā)環(huán)境

圖4 安裝進(jìn)行中

圖5 安裝各種插件

圖6 安裝Nodejs 運(yùn)行框架

圖7 安裝鴻蒙SDK

圖8 開(kāi)發(fā)環(huán)境設(shè)置

圖9 下載Openharmony 語(yǔ)言模板

圖10 下載其它相關(guān)組件
安裝完集成開(kāi)發(fā)環(huán)境之后,就可以創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試程序,來(lái)測(cè)試驗(yàn)證開(kāi)發(fā)環(huán)境是否正確。打開(kāi)DevEco Studio,選擇創(chuàng)建應(yīng)用,如下圖:

圖11 創(chuàng)建新應(yīng)用
下一步選擇平臺(tái),這里注意,要選擇 OpenHarmony, 這里默認(rèn)是HarmonyOS ,注意不要選錯(cuò)了,HarmonyOS是華為的商業(yè)系統(tǒng),而OpenHarmony才是開(kāi)源社區(qū)的,這里也說(shuō)一下華為,既然提供工具,就不要給自家打廣告了,顯的格局太小。

圖12 創(chuàng)建應(yīng)用模板
選擇好平臺(tái)后,出現(xiàn)應(yīng)用模板,可以按到這里有兩種,一種是基于 ejs, 的開(kāi)發(fā),一種是c++的開(kāi)發(fā),ejs 是H5 框架開(kāi)發(fā)的一種技術(shù),做應(yīng)用如同做頁(yè)面一樣簡(jiǎn)單,所以這里就選擇 ejs 模板了。然后填寫(xiě)一些應(yīng)用的參數(shù)信息,名稱,項(xiàng)目路徑,語(yǔ)言等。就可以了。

圖13 配置應(yīng)用相關(guān)參數(shù)
點(diǎn)擊完成,就進(jìn)入到項(xiàng)目里了,看一下代碼,真的很簡(jiǎn)潔,如果熟悉 javascript的同學(xué),恍惚認(rèn)為是在做頁(yè)面開(kāi)發(fā),是的,做鴻蒙js應(yīng)用開(kāi)發(fā),就是這么沒(méi)有“技術(shù)”含量,項(xiàng)目源碼界面:

圖14 應(yīng)用軟件代碼編輯
也可以切換到UI編輯界面可以看到現(xiàn)在Hello,world的UI設(shè)計(jì),這里稍微改一下,界面上加上板子的供應(yīng)商名字,以示我做開(kāi)發(fā)了,哈哈。
做完開(kāi)發(fā)后,點(diǎn)擊build里的編譯,很快幾步提示,編譯成功。應(yīng)用開(kāi)發(fā)就這這么簡(jiǎn)單且無(wú)趣。

圖15 應(yīng)用軟件UI設(shè)計(jì)器
編譯程序很簡(jiǎn)單,在見(jiàn)面上找到build,選擇編譯即可。編譯完后,開(kāi)發(fā)打包,生成可以下載開(kāi)發(fā)板的app軟件,同樣在build界面上,點(diǎn)擊構(gòu)建安裝包,就開(kāi)始進(jìn)行打包工作。
首次打開(kāi)會(huì)彈出一個(gè)安全證書(shū)請(qǐng)求的要求,原來(lái)鴻蒙的應(yīng)用都需要CA簽名,按提示說(shuō)明,填入相關(guān)的信息,進(jìn)行證書(shū)的制作。這一步看著填的東西很多,其實(shí)很簡(jiǎn)單,按文檔或者網(wǎng)上的教程照做,簡(jiǎn)單幾步就可以過(guò)去了。
其中有一步需要登錄得到華為網(wǎng)上做身份認(rèn)證,選擇個(gè)人身份就可以了,個(gè)人身份認(rèn)證還需要實(shí)名認(rèn)證,這一點(diǎn)不得不說(shuō)鴻蒙對(duì)應(yīng)用開(kāi)發(fā)的安全管控做的非常周密了,以后不會(huì)像某些平臺(tái)上,各種惡意匿名的惡意軟件橫行,讓人防不勝防的情況產(chǎn)生了。

圖16 生成公鑰

圖17 生成設(shè)備請(qǐng)求證書(shū)

圖18 注冊(cè)驗(yàn)證鴻蒙開(kāi)發(fā)者賬號(hào)
獲取完證書(shū),就可以打包生成可以下載的APP了,如下圖所示:

圖19編譯打包應(yīng)用
下載APP也很簡(jiǎn)單,收件把開(kāi)發(fā)板插入電腦,然后在開(kāi)發(fā)工具里打開(kāi)DevEco Studio里的設(shè)備管理,選擇本地設(shè)備,就可以看到開(kāi)發(fā)板了,如果沒(méi)有出現(xiàn),那么說(shuō)明開(kāi)發(fā)板的SDK的版本和開(kāi)發(fā)軟件里的SDK版本不一致,搞不清版本的情況,可以進(jìn)入SDK管理項(xiàng)里,把所有能用的SDK都勾選上,全部下載安裝上,這樣就可以看到開(kāi)發(fā)板了。下載更多版本的SDK,需要點(diǎn)時(shí)間和更多的硬盤(pán)空間。

圖20開(kāi)發(fā)板模擬器和設(shè)備管理
此時(shí)回到開(kāi)發(fā)界面,在右上角設(shè)備列表里,會(huì)出現(xiàn)開(kāi)發(fā)板的ID,如果沒(méi)有在下拉列表里會(huì)有,選擇上即可以,然后點(diǎn)右側(cè)的“運(yùn)行”,即自動(dòng)的安裝運(yùn)行,如下圖:

圖21下載到開(kāi)發(fā)板測(cè)試運(yùn)行
然后開(kāi)發(fā)板的顯示器界面上就會(huì)自動(dòng)的安裝并運(yùn)行我們開(kāi)發(fā)的APP程序了,其中可以注意到,應(yīng)用的安裝運(yùn)行是通過(guò)命令行進(jìn)行的,這些命令可以在命令行運(yùn)行,進(jìn)入到SDK的toolchains目錄下,運(yùn)行這些命令,一樣可以進(jìn)行安裝,運(yùn)行和停止,卸載。非常方便。和Android的ADB工具模式是類似的。
hdc_std uninstall com.example.myapplicationhdc_std install -r "E:HuaweiOpenHarmonyProjMyApplicationentrybuilddefaultoutputsdefaultentry-default-signed.hap"
hdc_std shell aa start -a com.example.myapplication.MainAbility -b com.example.myapplication
五、板上運(yùn)行程序
把編譯打包好的程序發(fā)布到開(kāi)發(fā)板上,一種方式就是,通過(guò)DevEco在板上安裝,運(yùn)行。另外一個(gè)方式就是通過(guò)命令行來(lái)進(jìn)行安裝。同時(shí)因?yàn)闇y(cè)試程序只做了一個(gè)界面,沒(méi)有退出按鈕,所以應(yīng)用無(wú)法退出。此時(shí)也可以通過(guò)命令行來(lái)終止運(yùn)行:
hdc_std.exe shell aa force-stopcom.example.myapplication
板上運(yùn)行效果如圖:

圖22 板上運(yùn)行效果
后面附上一個(gè)板上啟動(dòng)運(yùn)行的視頻:
編譯運(yùn)行鴻蒙應(yīng)用程序(視頻內(nèi)容詳見(jiàn)作者原帖子)
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
軟通動(dòng)力
+關(guān)注
關(guān)注
1文章
969瀏覽量
15544 -
OpenHarmony
+關(guān)注
關(guān)注
28文章
3836瀏覽量
18220 -
鴻湖萬(wàn)聯(lián)
+關(guān)注
關(guān)注
1文章
82瀏覽量
799
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
性能強(qiáng)悍!合眾HZ-RK3568開(kāi)發(fā)板試用體驗(yàn)
月19日 ? 評(píng)測(cè)數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開(kāi)鴻HH-SCDAYU800A開(kāi)發(fā)板免費(fèi)試用 RISC-V開(kāi)發(fā)板深度評(píng)測(cè)!頂級(jí)

九聯(lián)開(kāi)鴻亮相2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)
近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025在深圳隆重開(kāi)幕。本次大會(huì)由開(kāi)源鴻蒙項(xiàng)目群工作委員會(huì)主辦,華為、潤(rùn)開(kāi)鴻
【評(píng)測(cè)試用】合眾HZ-T536開(kāi)發(fā)板免費(fèi)試用體驗(yàn)
【評(píng)測(cè)試用】合眾HZ-T536開(kāi)發(fā)板免費(fèi)試用體驗(yàn)

開(kāi)源鴻蒙開(kāi)發(fā)新體驗(yàn),開(kāi)鴻Bot系列今日開(kāi)啟預(yù)售!
系列無(wú)疑是一站式的學(xué)習(xí)與開(kāi)發(fā)解決方案。它支持開(kāi)發(fā)者進(jìn)行KaihongOS桌面版操作系統(tǒng)的學(xué)習(xí)與開(kāi)發(fā)、開(kāi)源
發(fā)表于 05-16 14:13
軟通動(dòng)力攜手鴻湖萬(wàn)聯(lián)亮相2025武漢鴻蒙產(chǎn)業(yè)發(fā)展交流會(huì)
近日,以“鴻蒙生態(tài) 共筑未來(lái)”為主題的2025武漢鴻蒙產(chǎn)業(yè)發(fā)展交流會(huì)在武漢圓滿舉行。本次活動(dòng)聚焦產(chǎn)業(yè)政策發(fā)布及鴻蒙生態(tài)與區(qū)域產(chǎn)業(yè)的深度融合,吸引了政產(chǎn)學(xué)研用等多方力量參會(huì)。作為鴻蒙生態(tài)
軟通動(dòng)力和鴻湖萬(wàn)聯(lián)蒞臨開(kāi)放原子開(kāi)源基金會(huì)參觀交流
為進(jìn)一步增進(jìn)互信,深化開(kāi)源生態(tài)協(xié)同建設(shè),2月11日,軟通動(dòng)力董事、鴻湖萬(wàn)
軟通動(dòng)力攜鴻湖萬(wàn)聯(lián)與微展世簽署戰(zhàn)略合作協(xié)議,以開(kāi)源鴻蒙賦能工業(yè)創(chuàng)新升級(jí)
1月7日,軟通動(dòng)力攜子公司鴻湖萬(wàn)聯(lián),與微展世(北京)數(shù)字科技有限公司(簡(jiǎn)稱“微展世”)在廣州簽署

?軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)攜手南方科技大學(xué) 共筑開(kāi)源鴻蒙人才培養(yǎng)新高地
1月4日,軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)與南方科技大學(xué)攜手,開(kāi)展了一

榮膺多項(xiàng)殊榮!軟通動(dòng)力攜子公司鴻湖萬(wàn)聯(lián)亮相2024開(kāi)放原子開(kāi)發(fā)者大會(huì)
壯大我國(guó)開(kāi)源生態(tài)。作為開(kāi)源生態(tài)的杰出貢獻(xiàn)者和深度參與者,軟通動(dòng)力攜子公司鴻湖

軟通動(dòng)力攜鴻湖萬(wàn)聯(lián)與微展世簽署戰(zhàn)略合作協(xié)議
近日,軟通動(dòng)力攜子公司鴻湖萬(wàn)聯(lián),與微展世(北京)數(shù)字科技有限公司(簡(jiǎn)稱“微展世”)在廣州簽署戰(zhàn)略
鴻湖萬(wàn)聯(lián)攜手南方科技大學(xué)推動(dòng)開(kāi)源鴻蒙生態(tài)發(fā)展
近日,軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)與南方科技大學(xué)攜手,開(kāi)展了一系列
軟通動(dòng)力攜子公司鴻湖萬(wàn)聯(lián)、軟通教育助陣首屆鴻蒙生態(tài)大會(huì)成功舉辦
11月23日·中國(guó)深圳,首屆鴻蒙生態(tài)大會(huì)上,軟通動(dòng)力及軟通動(dòng)力子公司鴻

軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)發(fā)布SwanLinkOS 5
在近日?qǐng)A滿閉幕的首屆H?I3 AI探索峰會(huì)上,軟通動(dòng)力憑借其深厚的技術(shù)實(shí)力與創(chuàng)新精神,在鴻蒙生態(tài)領(lǐng)域再次邁出堅(jiān)實(shí)步伐。會(huì)上,軟通動(dòng)力攜手子公
軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)重磅發(fā)布SwanLinkOS 5,擘畫(huà)開(kāi)源鴻蒙AI PC新篇章
在剛剛落下帷幕的首屆H?I3AI探索峰會(huì)上,軟通動(dòng)力再次于鴻蒙生態(tài)領(lǐng)域?qū)崿F(xiàn)突破。此次活動(dòng)中,軟通動(dòng)力高級(jí)副總裁、

軟通動(dòng)力子公司鴻湖萬(wàn)聯(lián)攜多款重磅創(chuàng)新產(chǎn)品亮相華為開(kāi)發(fā)者大會(huì)
如何引領(lǐng)行業(yè)進(jìn)步,共同探索鴻蒙生態(tài)與AI大模型的發(fā)展新契機(jī)。作為本次大會(huì)鉆石級(jí)合作伙伴,軟通動(dòng)力攜子公司鴻湖

評(píng)論