成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony編譯構(gòu)建系統(tǒng)詳解,從零搭建Windows下開發(fā)環(huán)境,巨方便!

系統(tǒng) Windows
我們可以更快的構(gòu)建出系統(tǒng),方便快速學(xué)習(xí)和驗(yàn)證。不過關(guān)于這個(gè)開發(fā)環(huán)境搭建的文章,網(wǎng)上比較少,而且坑也很多。所以這篇文章,我就帶大家從零完成dev-tool的環(huán)境搭建,幫大家降低學(xué)習(xí)OpenHarmony的學(xué)習(xí)成本!

[[413480]]

自從OpenHarmony更新了dev-tool,就可以在windows下構(gòu)建鴻蒙(輕量型)系統(tǒng)了,這對(duì)于進(jìn)行MCU開發(fā)的朋友們,學(xué)習(xí)鴻蒙OS會(huì)友好許多!我們可以更快的構(gòu)建出系統(tǒng),方便快速學(xué)習(xí)和驗(yàn)證。不過關(guān)于這個(gè)開發(fā)環(huán)境搭建的文章,網(wǎng)上比較少,而且坑也很多。所以這篇文章,我就帶大家從零完成dev-tool的環(huán)境搭建,幫大家降低學(xué)習(xí)OpenHarmony的學(xué)習(xí)成本!

我們先講一下OpenHarmony的編譯構(gòu)建框架,當(dāng)大家理解了這個(gè)框架后,再學(xué)習(xí)環(huán)境的搭建和工程開發(fā),心里會(huì)有底氣許多。

一、穿針引線-編譯構(gòu)建

OpenHarmony的編譯構(gòu)建子系統(tǒng),基于GN和Ninja搭。GN是一種元構(gòu)建系統(tǒng),可以生成Ninja構(gòu)建文件(Ninja build files),最早應(yīng)用于Chromium項(xiàng)目,目的是取代GNU-Make。相比之下,這種構(gòu)建方式有幾個(gè)優(yōu)勢:

  • 可讀性更好,更容易編寫和維護(hù)。
  • 速度更快,谷歌官方給的數(shù)據(jù)是20倍的速度提升。
  • 修改GN文件后,執(zhí)行Ninja構(gòu)建時(shí)會(huì)自動(dòng)更新Ninja構(gòu)建文件。
  • 更好的調(diào)試支持。在GN中,只需要一條print語句就可以解決。

1. 運(yùn)作機(jī)制

這個(gè)編譯構(gòu)建框架,將OpenHarmony的平臺(tái)、子系統(tǒng)、組件“穿針引線”地組織起來。如果把GN比喻成“針線”,把生成的Ninja文件比喻成“衣服”的“設(shè)計(jì)圖紙”,那么整個(gè)編譯構(gòu)建的過程,就是依靠“針線”和“設(shè)計(jì)圖紙”,把“衣服”完整地做出來的。

其中平臺(tái)決定了整個(gè)“衣服”的材質(zhì),有基于ARM的,也有基于Risc-V的;子系統(tǒng)代表了衣服的樣式和結(jié)構(gòu),有夏天穿的,比較輕薄(輕量型系統(tǒng)),有春秋穿的,比較適中(小型系統(tǒng)),有冬天穿的,非常暖和(全量型系統(tǒng));而組件是子系統(tǒng)的基本構(gòu)成單位,決定子系統(tǒng)具體的實(shí)現(xiàn)細(xì)節(jié)。

整個(gè)編譯的運(yùn)作機(jī)制并不復(fù)雜,可以總結(jié)為:以命令行為驅(qū)動(dòng),調(diào)用gn,執(zhí)行ninja。命令行主要做解析方面的工作,解析待編譯的產(chǎn)品名稱,加載相關(guān)配置(完成“衣服”的材質(zhì)選擇);調(diào)用gn是為了根據(jù)命令行解析的產(chǎn)品名稱和編譯類型,配置編譯工具鏈和全局的編譯選項(xiàng)(準(zhǔn)備“衣服”的設(shè)計(jì)圖紙);最后執(zhí)行Ninja,以啟動(dòng)編譯并生成對(duì)應(yīng)的產(chǎn)品版本(“穿針引線”,完成衣服的編織)。

在最新的2.0版本,除了一部分組件仍保持make從構(gòu)建方式,其他已經(jīng)完全替換成GN和Ninja的構(gòu)建方式。預(yù)計(jì)后面的版本,會(huì)完成全量的替換。

2. 構(gòu)建流程

編譯構(gòu)建流程如圖所示,主要分設(shè)置和編譯兩步,可以參考下文理解:

解釋一下命令的作用,”hb set“: 設(shè)置OpenHarmony源碼目錄和要編譯的產(chǎn)品;”hb build“: 編譯產(chǎn)品、開發(fā)板或者組件。

編譯主要過程如下:

名稱 過程
讀取編譯配置 根據(jù)產(chǎn)品選擇的開發(fā)板,讀取開發(fā)板config.gni文件內(nèi)容,主要包括編譯工具鏈、編譯鏈接命令和選項(xiàng)等
調(diào)用gn gen命令 讀取產(chǎn)品配置生成產(chǎn)品解決方案out目錄和ninja文件
調(diào)用ninja -C out/board/product啟動(dòng)編譯
系統(tǒng)鏡像打包 將組件編譯產(chǎn)物打包,設(shè)置文件屬性和權(quán)限,制作文件系統(tǒng)鏡像

這里可以訪問:http://weharmonyos.com/openharmony/zh-cn/device-dev/subsystems,在編譯構(gòu)建章節(jié)了解更多內(nèi)容,這里不過多贅述。

二、施展拳腳-環(huán)境搭建

1. 系統(tǒng)環(huán)境準(zhǔn)備

OpenHarmony的編譯工具鏈,目前以GNU為主,類型是gnu-arm-gcc和gnu-risc-v-gcc。最開始應(yīng)用這些工具鏈?zhǔn)窃趗buntu環(huán)境下,同時(shí)整個(gè)系統(tǒng)的構(gòu)建也依賴了linux的GNU環(huán)境。我們想要在Windows下面成功運(yùn)行這些工具鏈,除了下載對(duì)應(yīng)的window版本的工具鏈,還需要準(zhǔn)備好GNU環(huán)境。

除了編譯工具鏈,環(huán)境搭建還依賴Python來完成各種編譯文件的組織(輔助GN和Ninja),通過Node.js提供npm環(huán)境,需要hpm提供包管理。完成以上準(zhǔn)備,就可以安裝VsCode(dev-tool的載體,其通過插件的方式在vscode上面運(yùn)行)了,之后再安裝dev-tool即可。下面給出具體的清單:

工具名稱 用途說明 版本要求 獲取渠道
Python 編譯構(gòu)建工具 V3.7.4~V3.8.x 64位版本 https://www.python.org/downloads/
Node.js 提供npm環(huán)境 v12.0.0及以上 64位版本 https://nodejs.org/zh-cn/download/
hpm 包管理工具 最新版 npm install -g @ohos/hpm-cli
Visual Studio Code 代碼編輯工具 V1.53及以上 64位版本。 https://code.visualstudio.com/Download
DevEco Device Tool OpenHarmony源碼的編譯、燒錄、調(diào)試插件工具 v2.2 Beta1 https://device.harmonyos.com/cn/ide#download下載前,請(qǐng)使用華為開發(fā)者帳號(hào)登錄,如未注冊(cè),請(qǐng)先注冊(cè)華為開發(fā)者帳號(hào)。

2. 搭建系統(tǒng)環(huán)境

說明一下,在完成下面步驟時(shí),遇到的所有問題,都可以訪問:http://weharmonyos.com/openharmony/zh-cn/device-dev/quick-start/,選擇常見問題章節(jié),來解決。

1)安裝Visual Studio Code

說明:如果已安裝Visual Studio Code,打開命令行工具,輸入code --version命令,檢查版本號(hào)是否為1.53及以上版本;可以正常返回版本號(hào),說明環(huán)境變量設(shè)置也正確。

雙擊Visual Studio Code軟件包進(jìn)行安裝。安裝過程中,請(qǐng)勾選“添加到PATH(重啟后生效)”。

安裝完成后,打開命令行工具,輸入code --version命令,可以正常顯示版本號(hào)說明安裝成功。

2)安裝Python

雙擊Python安裝包進(jìn)行安裝,勾選“Add Python 3.8 to PATH”,然后點(diǎn)擊Install Now開始安裝。

等待安裝完成后,點(diǎn)擊Close。

打開命令行工具,輸入python --version,檢查安裝結(jié)果。

注意:如果安裝了多個(gè)版本的Python,要保證這個(gè)版本的,優(yōu)先級(jí)最高。具體命令可自行百度。

在命令行工具中,分別執(zhí)行如下命令設(shè)置pip源,用于后續(xù)安裝DevEco Device Tool過程中下載依賴的組件包。

  1. pip config set global.trusted-host repo.huaweicloud.com 
  2. pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple 
  3. pip config set global.timeout 120 

3)安裝Node.js

說明:如果已安裝Node.js,打開命令行工具,輸入node -v命令,檢查版本號(hào)是否為12.0.0及以上版本。

點(diǎn)擊下載后的軟件包進(jìn)行安裝,全部按照默認(rèn)設(shè)置點(diǎn)擊Next,直至Finish。安裝過程中,Node.js會(huì)自動(dòng)在系統(tǒng)的path環(huán)境變量中配置node.exe的目錄路徑。重新打開命令行工具,輸入“node -v“命令,能正常查詢Node.js的版本號(hào),說明Node.js安裝成功。

4)安裝hpm

該方式需先確保Node.js安裝成功。

在安裝hpm前,請(qǐng)檢查網(wǎng)絡(luò)連接狀態(tài),如果網(wǎng)絡(luò)不能直接訪問Internet,則需要通過代理服務(wù)器才可以訪問。這種情況下,需要先設(shè)置npm代理,才能安裝hpm。

說明:如果已安裝hpm,可以執(zhí)行npm update -g @ohos/hpm-cli命令升級(jí)hpm至最新版本。

建議將npm源配置為國內(nèi)鏡像,例如設(shè)置為華為云鏡像源。

  1. npm config set registry https://repo.huaweicloud.com/repository/npm/ 

打開命令行工具,執(zhí)行如下命令安裝最新版本hpm。

  1. npm install -g @ohos/hpm-cli 

安裝完成后,執(zhí)行如下命令(V為大寫字母)檢查hpm安裝結(jié)果。

  1. hpm -V 

5)安裝DevEco Device Tool插件

安裝DevEco Device Tool插件,主機(jī)的用戶名不能包含中文字符,否則可能導(dǎo)致運(yùn)行出現(xiàn)錯(cuò)誤。

DevEco Device Tool正常運(yùn)行需要依賴于C/C++和CodeLLDB插件,在安裝完DevEco Device Tool后,會(huì)自動(dòng)從Visual Studio Code的插件市場安裝C/C++和CodeLLDB插件。因此,在安裝DevEco Device Tool前,請(qǐng)檢查Visual Studio Code的網(wǎng)絡(luò)連接狀態(tài),如果網(wǎng)絡(luò)不能直接訪問Internet,則需要通過代理服務(wù)器才可以訪問,請(qǐng)先Visual Studio Code代理設(shè)置。

說明:安裝DevEco Device Tool時(shí),請(qǐng)先關(guān)閉Visual Studio Code。

  • 解壓DevEco Device Tool插件壓縮包,雙擊安裝包程序進(jìn)行安裝。
  • 安裝過程中,會(huì)自動(dòng)安裝DevEco Device Tool所需的依賴文件(如C/C++和CodeLLDB插件)和執(zhí)行程序。

  • 安裝完成后,會(huì)自動(dòng)關(guān)閉命令行工具窗口(第一次按照時(shí)間會(huì)比較久,耐心等待,如果失敗了,需要清理C盤的緩存文件,重新安裝)。

啟動(dòng)Visual Studio Code,點(diǎn)擊左側(cè)的按鈕,檢查INSTALLED中,是否已成功安裝C/C++、CodeLLDB和DevEco Device Tool。

說明:如果C/C++和CodeLLDB插件安裝不成功,則DevEco Device Tool不能正常運(yùn)行,解決方法,詳細(xì)請(qǐng)參考:離線安裝C/C++和CodeLLDB插件。

三、大展身手-工程編譯

1. 開發(fā)板環(huán)境準(zhǔn)備

DevEco Device Tool當(dāng)前支持Hi3861V100的源碼在windows下的一鍵編譯能力;如果涉及其它開發(fā)板的源碼編譯,請(qǐng)參考Ubuntu平臺(tái)源碼編譯。可以訪問官網(wǎng)開發(fā)者文檔:https://device.harmonyos.com/cn/docs/ide/user-guides/

我們需要再準(zhǔn)備好Hi3861依托于OpenHarmony的編譯環(huán)境,也就是輕量型系統(tǒng)的編譯環(huán)境。并且下載好專門的源代碼。

2. 下載源碼

獲取適用于Hi3861V100開發(fā)板的源碼,請(qǐng)復(fù)制鏈接下載Windows平臺(tái)源碼,選擇“全量代碼(標(biāo)準(zhǔn)系統(tǒng))”(Windows平臺(tái)源碼只能通過該鏈接獲取)。

連接地址:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.md#section1186691118430

解壓源碼包。

請(qǐng)根據(jù)打開工程/源碼指導(dǎo),打開源碼。請(qǐng)注意,在設(shè)置Framework時(shí),請(qǐng)選擇“Hb“。

1)設(shè)置編譯工具鏈

Hi3861V100支持Windows平臺(tái)的編譯,需要開發(fā)者通過如下工具鏈接手動(dòng)下載,然后在Tools中設(shè)置對(duì)應(yīng)的工具鏈,包括:

工具包名稱 獲取地址 在Tools中設(shè)置的路徑
ninja https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/windows/ninja-win.zip ninja.exe所在文件夾
gn https://repo.huaweicloud.com/harmonyos/compiler/gn/1744/windows/gn-windows-amd64.zip gn.exe所在文件夾
gcc_riscv32 http://www.hihope.org/download/download.aspx?mtt=34 hcc_riscv32_win文件夾
tool_msys https://sourceforge.net/projects/mingw/ msys\bin文件夾
tool_scons DevEco Device Tool自帶工具 -

注意:這里非常關(guān)鍵的一點(diǎn),在Tools里設(shè)置的工具鏈名稱,必須和上表給出的名稱一一對(duì)應(yīng)!!!必須一摸一樣!這個(gè)問題是因?yàn)槟壳癲ev-tool還不夠完善導(dǎo)致的,一定要特別注意!!

同時(shí),有一些工具包不好下載(在國外),所以我放在了我Gitee倉庫上,下載鏈接:https://gitee.com/zeweni/harmony-os-win-build,記得幫我點(diǎn)個(gè)Star呦~

2)編譯源碼

在Projects中,點(diǎn)擊工程的Settings按鈕,在hi3861V100配置頁簽中,設(shè)置源碼的編譯類型build_type,默認(rèn)為“release“類型,請(qǐng)根據(jù)需要進(jìn)行修改。然后點(diǎn)擊Save按鈕進(jìn)行保存。

2. 保存后,點(diǎn)擊Open打開Hi3861V100的工程。

3. 點(diǎn)擊

圖標(biāo),打開DevEco Device Tool界面,在“PROJECT TASKS”中,點(diǎn)擊對(duì)應(yīng)開發(fā)板下的Build按鈕,執(zhí)行編譯。

 

4. 等待編譯完成,在TERMINAL窗口輸出“SUCCESS”,編譯完成。

到此為止,我們就完成了在windows上面搭建一站式的開發(fā)環(huán)境的全部流程!目前僅支持輕量型系統(tǒng),開發(fā)板是Hi3861,后期會(huì)不斷添加其他的開發(fā)板。

本文轉(zhuǎn)載自微信公眾號(hào)「一口Linux」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系一口Linux公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 一口Linux
相關(guān)推薦

2023-08-11 14:06:58

鴻蒙Windows

2010-09-14 09:24:29

C語言

2011-09-14 15:33:33

Android 2.2

2020-10-21 09:58:50

鴻蒙OS編譯環(huán)境VPS

2024-07-26 16:39:33

鴻蒙系統(tǒng)開源構(gòu)建系統(tǒng)

2023-06-12 15:43:44

鴻蒙智能家居開發(fā)

2023-04-25 16:30:58

設(shè)備開發(fā)鴻蒙

2023-07-17 16:13:21

組件模塊開發(fā)的鴻蒙

2020-11-10 12:17:43

鴻蒙OS編譯環(huán)境

2011-06-29 10:18:20

LINUX QT ARM

2009-06-10 16:30:05

基于Eclipse的PWindows

2021-06-11 14:16:21

Windows 10WSL OpenHarmon

2021-12-02 10:05:01

鴻蒙HarmonyOS應(yīng)用

2022-02-25 14:42:09

OpenHarmon環(huán)境搭建鴻蒙

2011-06-07 11:35:38

Windows Pho

2013-07-31 12:50:39

搭建Windows PWindows Pho

2020-11-03 08:36:08

Hadoop

2023-05-12 14:52:11

鴻蒙操作系統(tǒng)

2009-07-06 15:58:11

JSP程序

2016-08-16 13:44:28

AndroidLinuxADT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲成人福利在线观看 | 蜜桃精品视频在线 | 成年人在线观看 | 婷婷亚洲综合 | 精品一二三区 | 999re5这里只有精品 | 一区二区在线免费观看 | 91精品国产综合久久精品 | 国产精品视频一二三区 | 欧美精品欧美精品系列 | aaa天堂| 久久精品| 国产农村妇女毛片精品久久麻豆 | 成年人免费看 | 国产www在线 | 综合伊人 | 91人人爽| 久久精品亚洲欧美日韩精品中文字幕 | 日本视频在线播放 | 午夜在线免费观看视频 | 日韩影院在线观看 | 免费午夜视频 | 99久久夜色精品国产亚洲96 | 国产精品99久 | 国产一级视频在线 | 国产激情福利 | 久久精品国产一区二区电影 | 日韩精品一区二区三区 | 色在线免费 | 久草在线 | 精品一区二区久久 | 在线播放国产视频 | 亚洲午夜电影 | 一色桃子av一区二区 | 亚洲毛片 | 久久精品在线 | 一区二区三区四区免费观看 | 国产精品小视频在线观看 | 久久精品久久精品久久精品 | 国产一区精品 | 国产精品久久777777 |