精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀

系統(tǒng) OpenHarmony
鴻蒙的編譯構(gòu)建子系統(tǒng)提供了一個基于Gn和ninja的編譯構(gòu)建框架。根據(jù)產(chǎn)品配置,編譯生成對應(yīng)的鏡像包。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一、Prebuilts Download階段

./build/prebuilts_download.sh該命令主要是在構(gòu)建之前下載一些依賴的工具包或二進制,見源碼同級目錄的文件夾OpenHarmony_2.0_canary_prebuilts。

二、腳本的簡明編譯流程

下圖是除了進入GN構(gòu)建之外的腳本的全局構(gòu)建流程:

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀-開源基礎(chǔ)軟件社區(qū)

三、Preloader階段

子系統(tǒng)配置文件包含以下三個文件,定義了子系統(tǒng)的名稱和所在路徑。

  1. 子系統(tǒng)配置文件://build/subsystem_config.json,主要包含子系統(tǒng)名稱與路徑信息。
  2. product配置文件:productdefine/common/products/{產(chǎn)品名稱}.json,該配置文件主要包含產(chǎn)品名稱,產(chǎn)品廠商,產(chǎn)品設(shè)備名,產(chǎn)品類型,產(chǎn)品對應(yīng)子系統(tǒng)路徑,產(chǎn)品所包含的部件等信息。
  3. device配置文件:productdefine/common/device/{產(chǎn)品設(shè)備名稱}.json,該配置文件主要包含設(shè)備名稱,設(shè)備廠商,設(shè)備的目標os與目標cpu,設(shè)備對應(yīng)子系統(tǒng)路徑等信息。
    在preloader階段以上三個文件會被加載,并通過提取不同字段的信息,歸類出多個配置文件。

以上工作主要由腳本build/lite/hb_internal/preloader/preloader.py完成,并將配置文件輸出在**out/preloader/{產(chǎn)品名稱}**目錄下,為loader階段掃描相應(yīng)的子系統(tǒng)配置文件做準備,具體對應(yīng)關(guān)系如下圖:

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀-開源基礎(chǔ)軟件社區(qū)

四、GN/Ninja Build階段

鴻蒙的編譯構(gòu)建子系統(tǒng)提供了一個基于Gn和ninja的編譯構(gòu)建框架。根據(jù)產(chǎn)品配置,編譯生成對應(yīng)的鏡像包。其中編譯構(gòu)建流程為:

  1. 使用Gn配置構(gòu)建目標。
  2. Gn運行后會生成ninja文件。
  3. 通過運行ninja來執(zhí)行編譯任務(wù)。

1、觸發(fā)GN構(gòu)建

Preloader階段結(jié)束后,//build/lite/hb_internal/build/build_process.py.gn_build開始觸發(fā)構(gòu)建,以產(chǎn)品Hi3516DV300為例,命令和參數(shù)如下:

gn gen --args=ohos_build_compiler_specified="clang" ohos_build_compiler_dir="http://prebuilts/clang/ohos/linux-x86_64/llvm" product_path="/home/osm/Work/openharmony/openharmony_3.1/code/productdefine/common/products" product_name="Hi3516DV300" device_name="hi3516dv300" target_cpu="arm" target_os="ohos" is_standard_system=true device_path="device/board/hisilicon/hispark_taurus/linux" ohos_kernel_type="linux" common_feature_verify=true ohos_build_type="debug" ohos_build_time="1651857930667" ohos_build_datetime="2022-05-06 03:25:30" ohos_build_enable_ccache=true', '/home/osm/Work/openharmony/openharmony_3.1/code/out/hi3516dv300'

2、GN構(gòu)建流程

GN的總?cè)肟冢篵uild/core/gn/BUILD.gn。

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀-開源基礎(chǔ)軟件社區(qū)

(1)Loader階段

GN構(gòu)建的第一步就是進入Loader階段,該階段主要是通過Preloader階段整合的配置信息加載build configs到out/{產(chǎn)品名稱}/build_configs目錄,該工作是由腳本//build/loader/load.py完成的:

1、根據(jù)out/preloader/{產(chǎn)品名稱}/subsystem_config.json文件中的子系統(tǒng)名稱和路徑信息掃描該路徑下的子系統(tǒng)配置文件,同時兼容bundle.json和ohos.build。

2、loading platforms config:跟據(jù)out/preloader/{產(chǎn)品名稱}/platforms.build加載平臺配置信息,生成out/{產(chǎn)品名稱}/build_configs/platform_list目錄下的文件。

3、根據(jù)1中獲取的bundle.json/ohos.build,解析出out/{產(chǎn)品名稱}/build_configs/{subsystem}/{part}/BUILD.gn、out/{產(chǎn)品名稱}/build_configs/parts_info/、out/{產(chǎn)品名稱}/build_configs/*.gni以及out/{產(chǎn)品名稱}/build_configs/**.json等,以及將編譯入口的模板build/loader/build_gn.template拷貝到out/{產(chǎn)品名稱}/build_configs/BUILD.gn,從而在out/{產(chǎn)品名稱}/build_configs目錄下構(gòu)建出整個工程gn腳本的完整依賴關(guān)系。

(2)make inner_kits

inner_kits是組件提供其它組件的接口,會被其他組件依賴,因此首先編譯該部分。構(gòu)建的具體targets見out/{產(chǎn)品名稱}/build_configs/inner_kits_list.gni

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀-開源基礎(chǔ)軟件社區(qū)

(3)packages階段

該階段主要包括版本打包和處理流程,輸出目錄主要在out/{產(chǎn)品名稱}/packages/phone目錄下,package的流程如下:

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀-開源基礎(chǔ)軟件社區(qū)

(4)images階段

images階段主要是根據(jù)packages階段生成的system module配置文件制作系統(tǒng)文件和升級鏡像,輸出目錄主要在out/{產(chǎn)品名稱}/packages/phone/{image_name}和out/{產(chǎn)品名稱}/packages/phone/images目錄下,主要流程如下:

鴻蒙標準系統(tǒng)3.1的編譯構(gòu)建簡單解讀-開源基礎(chǔ)軟件社區(qū)

3、Ninja Build

以上是GN的配置構(gòu)建流程,GN命令只是用來生成ninja中間文件,運行ninja才會開始真正的構(gòu)建任務(wù)。以產(chǎn)品Hi3516DV300為例,命令和參數(shù)如下:

ninja -w dupbuild=warn -C /home/osm/Work/openharmony/openharmony_3.1/code/out/hi3516dv300 images

該命令執(zhí)行過程中或結(jié)束后才會生成上述流程中所輸出的文件或鏡像文件。

五、PostBuild

該階段主要做一些收尾的工作,內(nèi)容如下:

1、stat_ccache()

統(tǒng)計ccache信息,并在根目錄輸出ccache.log文件。

2、generate_ninja_trace()

備份前一次的build.trace.gz并在文件命名上打上時間戳,生成新的build.trace.gz和sorted_action_duration.txt。

3、get_warning_list()

根據(jù)生成的out/{產(chǎn)品名稱}/build.log,提取出所有的warnnings并統(tǒng)計到out/{產(chǎn)品名稱}/packages/warning_list.txt。

4、compute_overlap_rate()

根據(jù)build/subsystem_config.json統(tǒng)計出C的重復(fù)率,并打印到終端。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-04-02 20:45:04

Hi3516開發(fā)板操作系統(tǒng)鴻蒙

2022-09-13 15:54:41

samgr鴻蒙

2022-09-08 15:27:11

OHOSSafwk組件

2021-09-16 15:04:28

鴻蒙HarmonyOS應(yīng)用

2022-09-27 15:57:20

OHOS代碼倉庫

2023-02-01 16:28:30

Linux內(nèi)核鴻蒙

2022-10-12 15:14:08

開機動畫鴻蒙

2022-09-15 14:56:12

GDB調(diào)試鴻蒙

2021-07-19 15:34:05

鴻蒙HarmonyOS應(yīng)用

2021-10-09 10:12:39

鴻蒙HarmonyOS應(yīng)用

2021-11-08 07:19:45

鴻蒙HarmonyOS應(yīng)用

2023-12-29 08:45:40

Python3.8鴻蒙解釋器

2021-08-06 15:09:22

鴻蒙HarmonyOS應(yīng)用

2021-05-19 08:41:11

鴻蒙HarmonyOS應(yīng)用

2022-09-13 16:10:15

鴻蒙操作系統(tǒng)

2022-09-16 15:01:37

操作系統(tǒng)技術(shù)鴻蒙

2022-09-07 15:08:58

操作系統(tǒng)鴻蒙

2022-09-06 15:46:52

speexdsp鴻蒙

2021-05-17 14:37:02

鴻蒙HarmonyOS應(yīng)用

2023-06-27 15:12:46

C++三方庫移植
點贊
收藏

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

欧美一二三四在线| 国产喷白浆一区二区三区| 久久久久久97| 一区二区三区免费在线观看视频| 日韩电影免费观| 国产精品久久久久久福利一牛影视| 成人网在线免费观看| 韩国av免费观看| 成久久久网站| 欧美精品一区二区三区在线播放| 日韩福利视频在线| 欧美人xxx| 99精品国产99久久久久久白柏| 国产精品久久久久久久久久久新郎 | 日本一区视频在线| 亚洲第一天堂在线观看| 日产国产欧美视频一区精品| 欧美精品videofree1080p| 国产视频不卡在线| 牲欧美videos精品| 欧美成人一区二区| 一级做a免费视频| 亚洲深夜视频| 一片黄亚洲嫩模| 亚洲一区在线直播| 激情小视频在线| 成人一区在线看| 91pron在线| 国产免费叼嘿网站免费| 久热re这里精品视频在线6| 欧美日韩成人精品| 熟女少妇a性色生活片毛片| 日韩av网站在线免费观看| 日韩色在线观看| 色呦色呦色精品| 国产私拍福利精品视频二区| 无码av中文一区二区三区桃花岛| 天堂а√在线中文在线| 天堂аⅴ在线地址8| 欧美激情中文字幕一区二区| 人偷久久久久久久偷女厕| 午夜激情小视频| jiyouzz国产精品久久| 成人毛片网站| 亚洲黄色在线播放| 国产精品一二一区| 亚洲一区亚洲二区| 国产三级按摩推拿按摩| 经典一区二区三区| 国产综合在线观看视频| 一级黄色大片免费| 免费人成黄页网站在线一区二区| 日韩免费在线播放| 国产日韩久久久| 人人狠狠综合久久亚洲| 国产精品日本精品| 一级aaaa毛片| 国产精品影视天天线| 1卡2卡3卡精品视频| 国产欧美一级片| 国产一区二区伦理| www.av一区视频| 色哟哟中文字幕| 久久女同性恋中文字幕| 日本一区二区三区www| 激情在线视频| 中文字幕在线不卡国产视频| av电影一区二区三区| 色av手机在线| 偷拍日韩校园综合在线| av天堂永久资源网| 成人综合网站| 日韩写真欧美这视频| 免费黄色a级片| 色爱综合av| 中文在线不卡视频| 国产极品美女在线| 国产精品v日韩精品v欧美精品网站 | 91麻豆免费观看| 五月天婷亚洲天综合网鲁鲁鲁| yiren22综合网成人| 亚洲精品乱码久久久久久| 男女啪啪免费视频网站| 色综合一本到久久亚洲91| 欧美群妇大交群中文字幕| 一级全黄裸体片| 九九视频免费观看视频精品| 日韩一区二区欧美| 好吊操这里只有精品| 奇米四色…亚洲| 都市激情久久久久久久久久久| 午夜18视频在线观看| 中文av一区二区| 成人免费在线网| 四虎成人在线| 亚洲电影免费观看高清完整版在线 | 中文字幕日本视频| 国产99久久久久| 色狠狠久久av五月综合| 久久99亚洲网美利坚合众国| 在线观看网站黄不卡| 国产精品19p| 国产精品自拍区| 久久人人爽国产| 在线免费看91| 91麻豆成人久久精品二区三区| 在线观看成人一级片| cao在线视频| 91精品麻豆日日躁夜夜躁| 亚洲av综合一区二区| 欧美在线二区| 国产精品久久久久久久app| 日韩一级中文字幕| 一区二区视频免费在线观看| 人妻丰满熟妇av无码区app| www.亚洲一二| 久久国产天堂福利天堂| 中文字幕在线播出| 91社区在线播放| 国产自产在线视频| 国产亚洲高清在线观看| 一区二区三区天堂av| 欧美三级午夜理伦| 国产成人精品影院| 中文精品视频一区二区在线观看| 成人免费看黄| 日韩精品中文在线观看| 国产亚洲第一页| 国产一区二区看久久| 亚洲精品一品区二品区三品区| 三级中文字幕在线观看| 亚洲国产又黄又爽女人高潮的| 黄视频网站免费看| 久久99精品久久久久久国产越南| 欧美日本韩国在线| 综合日韩av| 日韩精品久久久久 | 亚洲精品乱码| av噜噜色噜噜久久| 中文字幕中文字幕在线十八区 | 天天影视涩香欲综合网| 国产a级片视频| 欧美日一区二区三区在线观看国产免| 91精品啪aⅴ在线观看国产| av网页在线| 欧美日韩成人一区二区| 日韩av片在线免费观看| 久久精品国内一区二区三区| 天天人人精品| 精品久久在线| 久久国产精品偷| www.成人免费视频| 亚洲国产一区二区a毛片| 男人的天堂影院| 制服诱惑一区二区| 欧美一二三区| 国外成人福利视频| 日韩一中文字幕| av网站在线观看免费| 一区二区三区久久| 国产又粗又猛又色| 免费日韩av片| 亚洲欧美精品| 日本在线成人| 欧日韩在线观看| 二区三区在线播放| 欧美精品一卡二卡| 九九视频免费看| av成人免费在线| 成人亚洲视频在线观看| 99久久久久国产精品| 91久久久亚洲精品| 成人女同在线观看| 亚洲三级av在线| h狠狠躁死你h高h| 午夜一区二区三区在线观看| 午夜时刻免费入口| 国产乱理伦片在线观看夜一区| 日韩精品在线观看av| 自拍偷拍一区| 91久久国产自产拍夜夜嗨| 色多多在线观看| 日韩中文视频免费在线观看| 亚洲精品视频91| 91国产福利在线| 加勒比av在线播放| 久久亚洲综合色一区二区三区| 亚洲国产高清av| 国产综合自拍| 日本精品一区二区| 99亚洲男女激情在线观看| 性色av一区二区三区红粉影视| 亚洲区小说区图片区| 欧美日韩精品系列| 影音先锋亚洲天堂| 亚洲男同1069视频| 大又大又粗又硬又爽少妇毛片| 美女国产一区二区| 精品少妇一区二区三区在线| 欧美gayvideo| 免费在线观看一区二区| 欧美高清hd| 国产精品高清网站| 春色校园综合激情亚洲| 按摩亚洲人久久| 第一视频专区在线| 亚洲激情视频网站| 国产绳艺sm调教室论坛| 91官网在线免费观看| 日本一级一片免费视频| 1024亚洲合集| 日韩精品电影一区二区| 高清在线观看日韩| 亚洲精品视频三区| 奇米影视7777精品一区二区| 久久综合色视频| 综合一区在线| 亚洲图片在线观看| 国产欧美日韩| 久久久神马电影| 六月丁香久久丫| av一区和二区| 麻豆精品国产| 91亚洲精品在线| 日本一区二区中文字幕| 国产精品va在线播放我和闺蜜| 岛国在线视频网站| 国模精品系列视频| 四虎av在线| 伦理中文字幕亚洲| 欧美三级电影一区二区三区| 中文字幕精品一区久久久久| 国产在线一二| 亚洲天堂成人在线视频| 男人久久精品| 亚洲欧美国产精品久久久久久久| 天天摸天天碰天天爽天天弄| 日韩欧美一级精品久久| 99在线精品视频免费观看20| 91精品国产综合久久久久久漫画| 91tv国产成人福利| 欧美伊人久久久久久午夜久久久久| 亚洲欧美综合另类| 欧美午夜激情小视频| 黄色在线观看国产| 日本福利一区二区| 成人免费毛片视频| 欧美亚洲综合色| 一区二区视频在线免费观看| 欧美日韩亚洲综合在线 | 成人av中文字幕| 国产激情视频网站| 日本免费精品| 亚洲一区二区三区四区在线免费观看| 成人性生活毛片| 亚洲精品菠萝久久久久久久| 欧美精品xxxxx| 亚洲成人一区二区| 日本一本高清视频| 一本大道久久a久久综合| www.欧美色| 欧美日韩免费观看一区二区三区| 一级欧美一级日韩| 日韩三区在线观看| 五十路在线观看| 日韩精品在线观看一区二区| 成a人片在线观看www视频| 日韩在线视频观看正片免费网站| bt在线麻豆视频| 91精品国产高清久久久久久久久 | 99久久久无码国产精品性波多 | 先锋影音久久久| 亚洲免费av一区二区三区| 久久精品国产色蜜蜜麻豆| 91精品国产三级| 97久久精品人人澡人人爽| 亚洲国产天堂av| 亚洲日本中文字幕区| 日韩乱码一区二区| 在线一区二区视频| 精品人妻伦一区二区三区久久| 亚洲精品wwwww| 97电影在线| 久久男人av资源网站| 香蕉成人av| 91偷拍精品一区二区三区| 三级小说欧洲区亚洲区| 在线一区高清| 亚洲少妇自拍| 中国黄色片一级| 99re6这里只有精品视频在线观看| 男人舔女人下部高潮全视频| 亚洲精品中文在线影院| 99热只有这里有精品| 9191成人精品久久| 日韩成人黄色| 欧美成人免费小视频| 在线能看的av网址| 亚洲一区二区在线| 欧美日韩在线二区| 日韩精品在线中文字幕| 久久国产精品一区二区| 精品国产av色一区二区深夜久久| 国产精品传媒在线| 欧美特黄aaaaaa| 欧美一区二区三级| 成年人免费在线视频| 国产69久久精品成人| 日韩一区网站| 亚洲最大免费| 日韩av成人高清| 菠萝菠萝蜜网站| 亚洲成人动漫av| 国产美女主播在线观看| 中文字幕在线看视频国产欧美| 国产伦子伦对白在线播放观看| 91麻豆国产精品| 欧美伦理影院| 成人午夜视频免费在线观看| 国产91精品在线观看| 老熟妻内射精品一区| 欧美在线一区二区| 视频一区二区三区国产| 久久久久久久999精品视频| 国产精品va视频| 一区二区三区四区视频在线 | 杨幂一区二区国产精品| 国产精品久久久久久亚洲毛片| 97人妻一区二区精品视频| 亚洲精品国产精品久久清纯直播| 性欧美videoshd高清| 91久久久久久| 性欧美69xoxoxoxo| 最新天堂中文在线| 中文字幕精品一区二区精品绿巨人| 久久久久久91亚洲精品中文字幕| 亚洲第一精品夜夜躁人人爽| 污视频免费在线观看| 91视频国产高清| 欧美在线91| 少妇熟女视频一区二区三区 | 午夜一级黄色片| 国产一区二区三区在线免费观看| 吉吉日韩欧美| 日本视频一区在线观看| 免费在线看成人av| 国产极品视频在线观看| 欧美日韩一区二区三区不卡| www.亚洲资源| 国产日韩在线观看av| 国产精品91一区二区三区| 中文字幕一区久久| 亚洲人吸女人奶水| 丰满人妻妇伦又伦精品国产| 97视频在线观看网址| 天堂网av成人| 在线免费视频a| 综合久久国产九一剧情麻豆| 国产黄色片免费观看| 欧美极品在线视频| 欧美变态挠脚心| 毛片av免费在线观看| 国产精品久久久久影院老司| 国产精品久久影视| 久青草国产97香蕉在线视频| 盗摄系列偷拍视频精品tp| 香港三级韩国三级日本三级| 国产欧美日韩麻豆91| 国产精品女人久久久| 欧美激情久久久| 亚洲色图丝袜| 国产永久免费网站| 亚洲二区在线视频| 黄色小视频在线观看| 91天堂在线视频| 亚洲精品在线二区| www久久久久久久| 日韩午夜电影av| 在线免费日韩片| 自拍另类欧美| av资源站一区| 伊人网免费视频| 国语自产精品视频在免费| 欧美禁忌电影网| 欧美色图校园春色| 色香色香欲天天天影视综合网| www免费视频观看在线| 久久五月天婷婷| 国产精品一区二区视频| 久久久黄色大片| 欧美黑人又粗大| 成人影院天天5g天天爽无毒影院| 国产精品19p| 欧美写真视频网站| 白白色在线观看| 中国人体摄影一区二区三区| 91网页版在线| 国产黄色美女视频| 国产精品视频导航| 亚洲激情网站|