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

第三部分,在Docker倉庫內完善編譯環境
由于當前提供的docker倉庫內只提供了Python和Scons,所以在第一次進入docker時,會顯示如下輸出。

所以仍需要我們繼續安裝剩余的工具,好在官方已經提供了默認的安裝腳本,只需要執行setupEnv,就可以自動安裝其他的工具。
當其他工具安裝完成后,再次使用checkEnv命令檢查開發環境,安裝正常情況下會有如下輸出。

我們在buildtools目錄下使用命令hmBuildStart執行首次編譯,經過一段時間的編譯后,會輸出成功信息。

至此,基于Linux的Docker開發環境就全部搭建完成了。
工欲善其事,必先利其器。在正式開始開發之前,我們先學習開發環境的搭建。
由于目前仍在早期,Harmony OS的開發環境需要依賴Linux的編譯環境,相對于一些只需要在Windows上安裝一個IDE的環境略復雜,但是對于絕大部分開發者來說,門檻還是相對比較低的。并且官方考慮到初學者安裝環境的不便,發布了包含開發環境的Docker安裝包和虛擬機鏡像,使得環境的搭建更為方便。
由于在論壇看到的大部分開發者使用的環境都是在Windows上安裝Docker或虛擬機,這樣的好處是方便,只在一臺電腦上就可以完成開發,但同時也有一些不足,無論是Docker還是虛擬機,只要在Windows系統上運行Linux,本質上都是需要在底層進行虛擬化的,這樣會帶來Linux系統性能的下降。因此,對于手上已經有Linux物理機或服務器資源的開發者來說,不妨直接在Linux物理機或者服務器上安裝Docker環境,以獲得更快的編譯速度。
接下來,我會詳細列出在Linux上搭建Docker開發環境的步驟,使用的基礎環境為Ubuntu 16.04。
第一部分,在Linux上安裝Docker。
1. 添加 Docker的官方 GPG 密鑰
復制代碼
2. 設置Docker倉庫源- 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
經過以上步驟,Linux系統就可以使用Docker了,接下來,我們為開發環境設置目錄
1. 創建Docker路徑,我使用的路徑是/home/matrix/Codes/OHOS/code
2. 拉取官方倉庫并啟動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:以管理員身份啟動Docker倉庫
--env BOARD=wifiiot:傳入環境變量BOARD=wifiiot
-it:以交互模式運行,并打開一個tty終端
--name hm_build:倉庫名
-v "/home/matrix/Codes/OHOS/code:/mnt":指定運行路徑
walker2048/hm_build:slim_iot:倉庫名和標簽

第三部分,在Docker倉庫內完善編譯環境
由于當前提供的docker倉庫內只提供了Python和Scons,所以在第一次進入docker時,會顯示如下輸出。

所以仍需要我們繼續安裝剩余的工具,好在官方已經提供了默認的安裝腳本,只需要執行setupEnv,就可以自動安裝其他的工具。
當其他工具安裝完成后,再次使用checkEnv命令檢查開發環境,安裝正常情況下會有如下輸出。

我們在buildtools目錄下使用命令hmBuildStart執行首次編譯,經過一段時間的編譯后,會輸出成功信息。

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