在成功的實(shí)現(xiàn)系統(tǒng)刷機(jī)方法后,接下來的一步是開始著手建立該開發(fā)板的開發(fā)環(huán)境。首先閱讀官方提供的開發(fā)文檔《軟通動(dòng)力啟航KS_IoT智能開發(fā)套件_軟件開發(fā)環(huán)境搭建V1》。文檔從環(huán)境要求,軟件工具列表,虛擬機(jī)安裝等做了詳細(xì)的說明。這里就按照文檔的操作步驟開始搭建開發(fā)板的開發(fā)環(huán)境。這里使用的VMware Workstation 15Player 虛擬機(jī)軟件,版本為 Ver15.0.2
圖1 OpenHarmony 整體技術(shù)架構(gòu)
一、了解OpenHarmony開源項(xiàng)目
在著手基于OpenHarmonyy 應(yīng)用開發(fā)之前,首先有必要了解一下OpenHarmony的開源項(xiàng)目本身的技術(shù)信息,有利于幫助更好的了解這個(gè)系統(tǒng)的架構(gòu),以便后面更好的上手進(jìn)行開發(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則是后臺應(yīng)用,無界面的一種APP,這個(gè)在Android是android service的概念。
OpenHarmonyOS基本介紹
OpenHarmony是由開放原子開源基金會(huì)(OpenAtom Foundation)的開源項(xiàng)目,它面向全場景、全連接、全智能時(shí)代場景下的應(yīng)用,基于開源的方式,搭建一個(gè)智能終端設(shè)備操作系統(tǒng)的框架和平臺,促進(jì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) > 組件”逐級展開,在多設(shè)備部署場景下,支持根據(jù)實(shí)際需求裁剪某些非必要的組件。
內(nèi)核層
核子系統(tǒng):采用多內(nèi)核(Linux內(nèi)核或者LiteOS)設(shè)計(jì),支持針對不同資源受限設(shè)備選用適合的OS內(nèi)核。內(nèi)核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內(nèi)核差異,對上層提供基礎(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)開放的基礎(chǔ),提供統(tǒng)一外設(shè)訪問能力和驅(qū)動(dòng)開發(fā)、管理框架。
系統(tǒng)服務(wù)層
系統(tǒng)服務(wù)層是OpenHarmony的核心能力集合,通過框架層對應(yīng)用程序提供服務(wù)。該層包含以下幾個(gè)部分:
系統(tǒng)基本能力子系統(tǒng)集:為分布式應(yīng)用在多設(shè)備上的運(yùn)行、調(diào)度、遷移等操作提供了基礎(chǔ)能力,由分布式軟總線、分布式數(shù)據(jù)管理、分布式任務(wù)調(diào)度、公共基礎(chǔ)庫、多模輸入、圖形、安全、AI等子系統(tǒng)組成。
基礎(chǔ)軟件服務(wù)子系統(tǒng)集:提供公共的、通用的軟件服務(wù),由事件通知、電話、多媒體、DFX(Design For X) 等子系統(tǒng)組成。
增強(qiáng)軟件服務(wù)子系統(tǒng)集:提供針對不同設(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)用開發(fā)提供了C/C++/JS等多語言的用戶程序框架和Ability框架,適用于JS語言的ArkUI框架,以及各種軟硬件服務(wù)對外開放的多語言框架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無UI界面,提供后臺運(yùn)行任務(wù)的能力以及統(tǒng)一的數(shù)據(jù)訪問抽象。基于FA/PA開發(fā)的應(yīng)用,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能,支持跨設(shè)備調(diào)度與分發(fā),為用戶提供一致、高效的應(yīng)用體驗(yàn)。
開發(fā)環(huán)境配置介紹:
Windwos環(huán)境供開發(fā)者參考:
硬件:CPU Intel(R) Core(TM)i7-4770HQ CPU @ 2.20GHz 2.20 GHz
內(nèi)存:16G
硬盤:1T
操作系統(tǒng):Win10, Vmware 15 Player
二、安裝集成應(yīng)用開發(fā)IDE
因?yàn)镺penharmony 還沒有直接可用的集成開發(fā)軟件,因此開發(fā)者一般使用基于OpenHarmony開發(fā)使用華為的HarmonyOS 的集成開發(fā)工具,因?yàn)槿A為HarmonyOS的底層和OpenHarmony是一樣的,所以可以使用華為的集成應(yīng)用開發(fā)工具來做OpenHarmony的應(yīng)用開發(fā),開發(fā)軟件工具名字叫 DevEco Studio,最新版本為3.0,下面頁面地址即可下載。https://developer.harmonyos.com/cn/develop/deveco-studio#download
圖2 安裝集成開發(fā)環(huán)境
圖3 配置開發(fā)環(huán)境
圖4 安裝進(jìn)行中
圖5 安裝各種插件
圖6 安裝Nodejs 運(yùn)行框架
圖8 開發(fā)環(huán)境設(shè)置
圖9 下載Openharmony 語言模板
圖10 下載其它相關(guān)組件
三、創(chuàng)建鴻蒙Hello,world 程序
安裝完集成開發(fā)環(huán)境之后,就可以創(chuàng)建一個(gè)簡單的測試程序,來測試驗(yàn)證開發(fā)環(huán)境是否正確。打開DevEco Studio,選擇創(chuàng)建應(yīng)用,如下圖:
圖11 創(chuàng)建新應(yīng)用
下一步選擇平臺,這里注意,要選擇 OpenHarmony, 這里默認(rèn)是HarmonyOS ,注意不要選錯(cuò)了,HarmonyOS是華為的商業(yè)系統(tǒng),而OpenHarmony才是開源社區(qū)的,這里也說一下華為,既然提供工具,就不要給自家打廣告了,顯的格局太小。
圖12 創(chuàng)建應(yīng)用模板
選擇好平臺后,出現(xiàn)應(yīng)用模板,可以按到這里有兩種,一種是基于 ejs, 的開發(fā),一種是c++的開發(fā),ejs 是H5 框架開發(fā)的一種技術(shù),做應(yīng)用如同做頁面一樣簡單,所以這里就選擇 ejs 模板了。然后填寫一些應(yīng)用的參數(shù)信息,名稱,項(xiàng)目路徑,語言等。就可以了。
圖13 配置應(yīng)用相關(guān)參數(shù)
點(diǎn)擊完成,就進(jìn)入到項(xiàng)目里了,看一下代碼,真的很簡潔,如果熟悉 javascript的同學(xué),恍惚認(rèn)為是在做頁面開發(fā),是的,做鴻蒙js應(yīng)用開發(fā),就是這么沒有“技術(shù)”含量,項(xiàng)目源碼界面:
圖14 應(yīng)用軟件代碼編輯
也可以切換到UI編輯界面可以看到現(xiàn)在Hello,world的UI設(shè)計(jì),這里稍微改一下,界面上加上板子的供應(yīng)商名字,以示我做開發(fā)了,哈哈。
做完開發(fā)后,點(diǎn)擊build里的編譯,很快幾步提示,編譯成功。應(yīng)用開發(fā)就這這么簡單且無趣。
圖15 應(yīng)用軟件UI設(shè)計(jì)器
四、編輯和編譯程序
編譯程序很簡單,在見面上找到build,選擇編譯即可。編譯完后,開發(fā)打包,生成可以下載開發(fā)板的app軟件,同樣在build界面上,點(diǎn)擊構(gòu)建安裝包,就開始進(jìn)行打包工作。
首次打開會(huì)彈出一個(gè)安全證書請求的要求,原來鴻蒙的應(yīng)用都需要CA簽名,按提示說明,填入相關(guān)的信息,進(jìn)行證書的制作。這一步看著填的東西很多,其實(shí)很簡單,按文檔或者網(wǎng)上的教程照做,簡單幾步就可以過去了。
其中有一步需要登錄得到華為網(wǎng)上做身份認(rèn)證,選擇個(gè)人身份就可以了,個(gè)人身份認(rèn)證還需要實(shí)名認(rèn)證,這一點(diǎn)不得不說鴻蒙對應(yīng)用開發(fā)的安全管控做的非常周密了,以后不會(huì)像某些平臺上,各種惡意匿名的惡意軟件橫行,讓人防不勝防的情況產(chǎn)生了。
圖16 生成公鑰
圖17 生成設(shè)備請求證書
圖18 注冊驗(yàn)證鴻蒙開發(fā)者賬號
獲取完證書,就可以打包生成可以下載的APP了,如下圖所示:
圖19編譯打包應(yīng)用
下載APP也很簡單,收件把開發(fā)板插入電腦,然后在開發(fā)工具里打開DevEco Studio里的設(shè)備管理,選擇本地設(shè)備,就可以看到開發(fā)板了,如果沒有出現(xiàn),那么說明開發(fā)板的SDK的版本和開發(fā)軟件里的SDK版本不一致,搞不清版本的情況,可以進(jìn)入SDK管理項(xiàng)里,把所有能用的SDK都勾選上,全部下載安裝上,這樣就可以看到開發(fā)板了。下載更多版本的SDK,需要點(diǎn)時(shí)間和更多的硬盤空間。
圖20開發(fā)板模擬器和設(shè)備管理
此時(shí)回到開發(fā)界面,在右上角設(shè)備列表里,會(huì)出現(xiàn)開發(fā)板的ID,如果沒有在下拉列表里會(huì)有,選擇上即可以,然后點(diǎn)右側(cè)的“運(yùn)行”,即自動(dòng)的安裝運(yùn)行,如下圖:
圖21下載到開發(fā)板測試運(yùn)行
然后開發(fā)板的顯示器界面上就會(huì)自動(dòng)的安裝并運(yùn)行我們開發(fā)的APP程序了,其中可以注意到,應(yīng)用的安裝運(yùn)行是通過命令行進(jìn)行的,這些命令可以在命令行運(yùn)行,進(jìn)入到SDK的toolchains目錄下,運(yùn)行這些命令,一樣可以進(jìn)行安裝,運(yùn)行和停止,卸載。非常方便。和Android的ADB工具模式是類似的。
hdc_std uninstall com.example.myapplication hdc_std install -r "E:HuaweiOpenHarmonyProjMyApplicationentryuilddefaultoutputsdefaultentry-default-signed.hap" hdc_std shell aa start -a com.example.myapplication.MainAbility -b com.example.myapplication
(左右移動(dòng)查看全部內(nèi)容)
五、板上運(yùn)行程序
把編譯打包好的程序發(fā)布到開發(fā)板上,一種方式就是,通過DevEco在板上安裝,運(yùn)行。另外一個(gè)方式就是通過命令行來進(jìn)行安裝。同時(shí)因?yàn)闇y試程序只做了一個(gè)界面,沒有退出按鈕,所以應(yīng)用無法退出。此時(shí)也可以通過命令行來終止運(yùn)行:
hdc_std.exe shell aa force-stopcom.example.myapplication
(左右移動(dòng)查看全部內(nèi)容)
板上運(yùn)行效果如圖:
圖22 板上運(yùn)行效果
審核編輯:湯梓紅
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97456 -
開發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
225瀏覽量
16617 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3722瀏覽量
16313 -
鴻湖萬聯(lián)
+關(guān)注
關(guān)注
1文章
68瀏覽量
639
原文標(biāo)題:鴻湖萬聯(lián)揚(yáng)帆系列“競”開發(fā)板測評:開源鴻蒙應(yīng)用軟件開發(fā)
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論