本文來(lái)源電子發(fā)燒友社區(qū),作者:楓雪天, 帖子地址:https://bbs.elecfans.com/jishu_2032698_1_1.html
工欲善其事,必先利其器。在正式開(kāi)始開(kāi)發(fā)之前,我們先學(xué)習(xí)開(kāi)發(fā)環(huán)境的搭建。
由于目前仍在早期,Harmony OS的開(kāi)發(fā)環(huán)境需要依賴(lài)Linux的編譯環(huán)境,相對(duì)于一些只需要在Windows上安裝一個(gè)IDE的環(huán)境略復(fù)雜,但是對(duì)于絕大部分開(kāi)發(fā)者來(lái)說(shuō),門(mén)檻還是相對(duì)比較低的。并且官方考慮到初學(xué)者安裝環(huán)境的不便,發(fā)布了包含開(kāi)發(fā)環(huán)境的Docker安裝包和虛擬機(jī)鏡像,使得環(huán)境的搭建更為方便。
由于在論壇看到的大部分開(kāi)發(fā)者使用的環(huán)境都是在Windows上安裝Docker或虛擬機(jī),這樣的好處是方便,只在一臺(tái)電腦上就可以完成開(kāi)發(fā),但同時(shí)也有一些不足,無(wú)論是Docker還是虛擬機(jī),只要在Windows系統(tǒng)上運(yùn)行Linux,本質(zhì)上都是需要在底層進(jìn)行虛擬化的,這樣會(huì)帶來(lái)Linux系統(tǒng)性能的下降。因此,對(duì)于手上已經(jīng)有Linux物理機(jī)或服務(wù)器資源的開(kāi)發(fā)者來(lái)說(shuō),不妨直接在Linux物理機(jī)或者服務(wù)器上安裝Docker環(huán)境,以獲得更快的編譯速度。
接下來(lái),我會(huì)詳細(xì)列出在Linux上搭建Docker開(kāi)發(fā)環(huán)境的步驟,使用的基礎(chǔ)環(huán)境為Ubuntu 16.04。
第一部分,在Linux上安裝Docker。
1. 添加 Docker的官方 GPG 密鑰
復(fù)制代碼
3. 使用apt-get安裝Docker
復(fù)制代碼
第二部分,拉取并啟動(dòng)Docker倉(cāng)庫(kù)
經(jīng)過(guò)以上步驟,Linux系統(tǒng)就可以使用Docker了,接下來(lái),我們?yōu)殚_(kāi)發(fā)環(huán)境設(shè)置目錄
1. 創(chuàng)建Docker路徑,我使用的路徑是/home/matrix/Codes/OHOS/code
2. 拉取官方倉(cāng)庫(kù)并啟動(dòng)Docker
復(fù)制代碼
這段命令比較長(zhǎng),我們分解一下
sudo docker run:以管理員身份啟動(dòng)Docker倉(cāng)庫(kù)
--env BOARD=wifiiot:傳入環(huán)境變量BOARD=wifiiot
-it:以交互模式運(yùn)行,并打開(kāi)一個(gè)tty終端
--name hm_build:倉(cāng)庫(kù)名
-v "/home/matrix/Codes/OHOS/code:/mnt":指定運(yùn)行路徑
walker2048/hm_build:slim_iot:倉(cāng)庫(kù)名和標(biāo)簽

第三部分,在Docker倉(cāng)庫(kù)內(nèi)完善編譯環(huán)境
由于當(dāng)前提供的docker倉(cāng)庫(kù)內(nèi)只提供了Python和Scons,所以在第一次進(jìn)入docker時(shí),會(huì)顯示如下輸出。

所以仍需要我們繼續(xù)安裝剩余的工具,好在官方已經(jīng)提供了默認(rèn)的安裝腳本,只需要執(zhí)行setupEnv,就可以自動(dòng)安裝其他的工具。
當(dāng)其他工具安裝完成后,再次使用checkEnv命令檢查開(kāi)發(fā)環(huán)境,安裝正常情況下會(huì)有如下輸出。

我們?cè)赽uildtools目錄下使用命令hmBuildStart執(zhí)行首次編譯,經(jīng)過(guò)一段時(shí)間的編譯后,會(huì)輸出成功信息。

至此,基于Linux的Docker開(kāi)發(fā)環(huán)境就全部搭建完成了。
工欲善其事,必先利其器。在正式開(kāi)始開(kāi)發(fā)之前,我們先學(xué)習(xí)開(kāi)發(fā)環(huán)境的搭建。
由于目前仍在早期,Harmony OS的開(kāi)發(fā)環(huán)境需要依賴(lài)Linux的編譯環(huán)境,相對(duì)于一些只需要在Windows上安裝一個(gè)IDE的環(huán)境略復(fù)雜,但是對(duì)于絕大部分開(kāi)發(fā)者來(lái)說(shuō),門(mén)檻還是相對(duì)比較低的。并且官方考慮到初學(xué)者安裝環(huán)境的不便,發(fā)布了包含開(kāi)發(fā)環(huán)境的Docker安裝包和虛擬機(jī)鏡像,使得環(huán)境的搭建更為方便。
由于在論壇看到的大部分開(kāi)發(fā)者使用的環(huán)境都是在Windows上安裝Docker或虛擬機(jī),這樣的好處是方便,只在一臺(tái)電腦上就可以完成開(kāi)發(fā),但同時(shí)也有一些不足,無(wú)論是Docker還是虛擬機(jī),只要在Windows系統(tǒng)上運(yùn)行Linux,本質(zhì)上都是需要在底層進(jìn)行虛擬化的,這樣會(huì)帶來(lái)Linux系統(tǒng)性能的下降。因此,對(duì)于手上已經(jīng)有Linux物理機(jī)或服務(wù)器資源的開(kāi)發(fā)者來(lái)說(shuō),不妨直接在Linux物理機(jī)或者服務(wù)器上安裝Docker環(huán)境,以獲得更快的編譯速度。
接下來(lái),我會(huì)詳細(xì)列出在Linux上搭建Docker開(kāi)發(fā)環(huán)境的步驟,使用的基礎(chǔ)環(huán)境為Ubuntu 16.04。
第一部分,在Linux上安裝Docker。
1. 添加 Docker的官方 GPG 密鑰
復(fù)制代碼
2. 設(shè)置Docker倉(cāng)庫(kù)源- sudo add-apt-repository
- "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/
- $(l***_release -cs)
- stable"
- sudo apt-get install docker-ce docker-ce-cli containerd.io
經(jīng)過(guò)以上步驟,Linux系統(tǒng)就可以使用Docker了,接下來(lái),我們?yōu)殚_(kāi)發(fā)環(huán)境設(shè)置目錄
1. 創(chuàng)建Docker路徑,我使用的路徑是/home/matrix/Codes/OHOS/code
2. 拉取官方倉(cāng)庫(kù)并啟動(dòng)Docker
- sudo docker run --env BOARD=wifiiot -it --name hm_build -v "/home/matrix/Codes/OHOS/code:/mnt" walker2048/hm_build:slim_iot
sudo docker run:以管理員身份啟動(dòng)Docker倉(cāng)庫(kù)
--env BOARD=wifiiot:傳入環(huán)境變量BOARD=wifiiot
-it:以交互模式運(yùn)行,并打開(kāi)一個(gè)tty終端
--name hm_build:倉(cāng)庫(kù)名
-v "/home/matrix/Codes/OHOS/code:/mnt":指定運(yùn)行路徑
walker2048/hm_build:slim_iot:倉(cāng)庫(kù)名和標(biāo)簽

第三部分,在Docker倉(cāng)庫(kù)內(nèi)完善編譯環(huán)境
由于當(dāng)前提供的docker倉(cāng)庫(kù)內(nèi)只提供了Python和Scons,所以在第一次進(jìn)入docker時(shí),會(huì)顯示如下輸出。

所以仍需要我們繼續(xù)安裝剩余的工具,好在官方已經(jīng)提供了默認(rèn)的安裝腳本,只需要執(zhí)行setupEnv,就可以自動(dòng)安裝其他的工具。
當(dāng)其他工具安裝完成后,再次使用checkEnv命令檢查開(kāi)發(fā)環(huán)境,安裝正常情況下會(huì)有如下輸出。

我們?cè)赽uildtools目錄下使用命令hmBuildStart執(zhí)行首次編譯,經(jīng)過(guò)一段時(shí)間的編譯后,會(huì)輸出成功信息。

至此,基于Linux的Docker開(kāi)發(fā)環(huán)境就全部搭建完成了。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
wi-fi
+關(guān)注
關(guān)注
15文章
2424瀏覽量
129578 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2153瀏覽量
36062 -
HiSpark
+關(guān)注
關(guān)注
1文章
156瀏覽量
7759
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)
本文要點(diǎn)Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的硬件和軟件解決方案,使設(shè)備能夠通過(guò)Wi-Fi網(wǎng)絡(luò)實(shí)現(xiàn)通信。Wi-Fi模塊設(shè)計(jì)是一個(gè)復(fù)雜的過(guò)程,要求研發(fā)人員兼具硬件與軟件工程方面的專(zhuān)業(yè)知識(shí)
Wi-Fi:無(wú)線(xiàn)連接的全球通用語(yǔ)
Wi-Fi功能,跨品牌、跨設(shè)備互聯(lián)互通性強(qiáng),生態(tài)完整。3. 靈活部署,易于擴(kuò)展支持星型、Mesh等多種組網(wǎng)方式,可根據(jù)環(huán)境靈活布置接入點(diǎn),擴(kuò)大覆蓋范圍。4. 技術(shù)持續(xù)演進(jìn)從802.11a/b/g到
發(fā)表于 01-07 09:49
Nordic發(fā)布nRF7002 EBII 開(kāi)發(fā)板, 支持Wi-Fi 6, 解鎖nRF54L新玩法
了 Wi-Fi 6 功能,幫助開(kāi)發(fā)人員創(chuàng)建高性能、高能效的Wi-Fi 6 物聯(lián)網(wǎng)解決方案。
基于 Nordic 的 nRF7002 Wi-Fi 協(xié)同 IC,nRF7002 EBII幫助
發(fā)表于 12-10 11:58
Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略
:選擇用模塊的理由: 是為了方便電路集成設(shè)計(jì),特別是硬件兼容集成設(shè)計(jì),這樣只要產(chǎn)品前期做好了綜合設(shè)計(jì),后續(xù)做產(chǎn)品設(shè)計(jì)以及應(yīng)用端的靈活選擇,提供了很大的便利,省得重復(fù)設(shè)計(jì)硬件,縮短開(kāi)發(fā)周,加快將產(chǎn)品推向市場(chǎng)的時(shí)間; 二:Wi-Fi模塊選型注意點(diǎn)
淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)
作者: Qorvo 亞太區(qū)無(wú)線(xiàn)連接事業(yè)部高級(jí)行銷(xiāo)經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開(kāi)放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
發(fā)表于 09-19 18:29
?2143次閱讀
基于 SSID 的 Wi-Fi 定位:與其他定位服務(wù)的性能比較
是一種著名的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過(guò) Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無(wú)線(xiàn)互聯(lián)網(wǎng)接入服務(wù)。
Wi-Fi 定位是一種地理定位功能
發(fā)表于 08-31 21:01
LitePoint Wi-Fi測(cè)試軟件減輕客戶(hù)設(shè)計(jì)負(fù)擔(dān)
自Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來(lái),作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶(hù)實(shí)現(xiàn)無(wú)所不在無(wú)線(xiàn)連接的新選擇。隨著每一代Wi-Fi信號(hào)復(fù)雜性的提升,建議將硬件測(cè)試納
Texas Instruments CC335x SimpleLink?雙頻Wi-Fi? 6配套IC數(shù)據(jù)手冊(cè)
) 和Wi-Fi 5 (802.11ac)。這些CC335x是Texas Instruments的第10代連接組合芯片。因此,CC335x基于成熟的技術(shù)設(shè)計(jì)而成。這些器件非常適合配備運(yùn)行TCP/IP的Linux或
如何選擇合適的芯科科技Wi-Fi開(kāi)發(fā)板
您正在尋找適用于超低功耗物聯(lián)網(wǎng)應(yīng)用項(xiàng)目的Wi-Fi 開(kāi)發(fā)板嗎?本文將介紹Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗藍(lán)牙5.4解決方案的Wi-Fi
芯科科技推出新款Wi-Fi 6開(kāi)發(fā)套件SiWG917Y
問(wèn)問(wèn)任何一位Wi-Fi開(kāi)發(fā)者,他們工作中最困難的部分是什么?你很可能會(huì)聽(tīng)到這樣的回答:“設(shè)計(jì)天線(xiàn)以及應(yīng)對(duì)全球射頻(RF)法規(guī)認(rèn)證?!?因應(yīng)這一挑戰(zhàn),Silicon Labs (芯科
?迅通PTR7002 Wi-Fi 6模塊技術(shù)解析
在物聯(lián)網(wǎng)設(shè)備對(duì)無(wú)線(xiàn)連接性能要求日益嚴(yán)苛的背景下,迅通推出的?PTR7002 Wi-Fi 6模塊?憑借其技術(shù)特性成為開(kāi)發(fā)者關(guān)注的硬件方案。本文將從芯片架構(gòu)、射頻性能及開(kāi)發(fā)支持等維度進(jìn)行深度剖析
發(fā)表于 06-10 10:38
基于 Wi-Fi 的定位服務(wù)
以下捕獲使用 location_wifi_get 函數(shù)請(qǐng)求 Wi-Fi 定位服務(wù)。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。
Got location:
method
發(fā)表于 04-17 15:16
nRF Cloud Wi-Fi 定位服務(wù)
、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過(guò)利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位用例
發(fā)表于 04-17 15:07
Wi-Fi 定位服務(wù)
Wi-Fi 是一種著名的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過(guò) Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無(wú)線(xiàn)互聯(lián)網(wǎng)接入服務(wù)。
發(fā)表于 04-17 15:01
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】搭建基于Linux的Docker開(kāi)發(fā)環(huán)境
評(píng)論