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