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

如何讓OpenHarmony編譯速度“狂飆”

系統(tǒng) OpenHarmony
OpenHarmony有兩種編譯方式,一種是通過hb工具編譯,一種是通過build.sh腳本編譯。

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

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

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

OpenHarmony有兩種編譯方式,一種是通過hb工具編譯,一種是通過build.sh腳本編譯。本文筆者將提升build.sh方式編譯速度的方法整理如下:

因?yàn)楣P者只用build.sh腳本編譯,沒用過hb工具,好像下面的選項(xiàng)也可以用于hb工具。

在OpenHarmony源碼中執(zhí)行./build.sh --h,會(huì)打印出./build.sh中可以添加的所有選項(xiàng)

$ ./build.sh -h
++++++++++++++++++++++++++++++++++++++++
The system shell is bash 4.4.20(1)-release
++++++++++++++++++++++++++++++++++++++++
2023-02-07 12:58:04
-h
Usage: entry.py [options]
Options:
-h, --help show this help message and exit
--source-root-dir=SOURCE_ROOT_DIR
--product-name=PRODUCT_NAME
--device-name=DEVICE_NAME
--target-cpu=TARGET_CPU
--target-os=TARGET_OS
--compile-config=COMPILE_CONFIG
-T BUILD_TARGET, --build-target=BUILD_TARGET
--gn-args=GN_ARGS
--ninja-args=NINJA_ARGS
-v, --verbose
--keep-ninja-going
--sparse-image
--jobs=JOBS
--export-para=EXPORT_PARA
--build-only-gn
--ccache
--fast-rebuild
--disable-package-image
--disable-post-build
--disable-part-of-post-build=DISABLE_PART_OF_POST_BUILD
--log-level=LOG_LEVEL
--device-type=DEVICE_TYPE
--build-variant=BUILD_VARIANT
--share-ccache=SHARE_CCACHE
=====build successful=====

提升OpenHarmony編譯速度的選項(xiàng)

build.sh腳本編譯rk3568方式命令如下:

./build.sh --product-name rk3568 --ccache

通過在該命令后添加如下選項(xiàng)提升編譯速度。

添加 --disable-post-build 參數(shù)

取消Postbuild過程,最后的ninja trace解析、每個(gè)子系統(tǒng)(不包括源碼中的third_party部分)的rom size統(tǒng)計(jì)等動(dòng)作會(huì)沒有(每個(gè)子系統(tǒng)部件描述文件名稱為bundle.json,里面定義了子系統(tǒng)的名稱。)

提供支持disable post build參數(shù)是怎么做的 https://gitee.com/openharmony/build/issues/I5MT9X。

./build.sh --product-name rk3568 --disable-post-build

如何讓OpenHarmony編譯速度“狂飆”-開源基礎(chǔ)軟件社區(qū)

添加 --disable-package-image參數(shù)

取消最后所有的image鏡像文件壓縮成tar包的動(dòng)作

tar包位置 out\rk3568\images.tar.gz

./build.sh --product-name rk3568 --disable-package-image

添加 --ccache 參數(shù)

ccache會(huì)緩存c/c++編譯的編譯輸出,下一次在編譯輸入不變的情況下,直接復(fù)用緩存的產(chǎn)物。用來緩存編譯過的.o文件等

執(zhí)行sudo apt-get install ccache命令安裝ccache

再在 --ccache后添加export CCACHE_NOHASHDIR=“true” 和 export CCACHE_SLOPPINESS=“include_file_ctime” (設(shè)置ccache在做hash的時(shí)候不hash路徑、不檢查文件的change time)

./build.sh --product-name rk3568 --ccache export CCACHE_NOHASHDIR="true" 
export CCACHE_SLOPPINESS="include_file_ctime"

如何讓OpenHarmony編譯速度“狂飆”-開源基礎(chǔ)軟件社區(qū)

添加 --fast-rebuild參數(shù)

編譯流程主要分為:preloader->loader->gn->ninja這四個(gè)過程,添加后直接基于已有out/rk3568/build.ninja直接執(zhí)行編譯鏈接步驟,跳過前面的產(chǎn)品配置解析和gn解析,在gn相關(guān)腳本沒有發(fā)生改變的前提下使用。

./build.sh --product-name rk3568 --fast-rebuild

如何讓OpenHarmony編譯速度“狂飆”-開源基礎(chǔ)軟件社區(qū)

添加 --gn-args enable_notice_collection=false參數(shù)

notice file的搜集用于產(chǎn)品化的LICENSE生成,取消收集開源notice的過程,在非產(chǎn)品化場景開發(fā)態(tài)可關(guān)閉,提升編譯速度,節(jié)省編譯~7%時(shí)間。

OpenHarmony開源軟件Notice收集策略說明 https://gitee.com/openharmony/build/blob/master/docs/開源軟件Notice收集策。

./build.sh --product-name rk3568 --gn-args enable_notice_collection=false

添加 --build-only-gn 參數(shù)

重新執(zhí)行Preloader、loader、gn,不進(jìn)行最后的編譯動(dòng)作。

編譯流程主要分為:preloader->loader->gn->ninja這四個(gè)過程,標(biāo)準(zhǔn)系統(tǒng)的編譯構(gòu)建過程請參考https://ost.51cto.com/posts/13594。

添加 --build-target 參數(shù)

該參數(shù)用于指定編譯模塊

如何找模塊的名字:

  • 相關(guān)倉下BUILD.gn中關(guān)注group、ohos_shared_library、ohos_executable等關(guān)鍵字。
  • ./build.sh --product-name 產(chǎn)品名 --build-target 模塊名 --build-only-gn生成build.ninja,然后去該文件中查找相關(guān)模塊名。

添加 --gn-args enable_lto_O0=true參數(shù)

在鏈接的時(shí)候會(huì)減弱優(yōu)化的等級,建議在只考慮編譯是否成功的時(shí)候使用(會(huì)影響最后的so的性能和rom大小)

添加 --gn-args archive_ndk=false參數(shù)

編譯sdk的時(shí)候不執(zhí)行輸出壓縮包的動(dòng)作

添加 export NO_DEVTOOL=1 參數(shù)

取消webpack打包過程中生成sourcemap的動(dòng)作

添加 --gn-args skip_generate_module_list_file=true參數(shù)

跳過為test 生成記錄文件的過程,節(jié)省gn解析的過程,只要不跑tdd測試用例,這個(gè)參數(shù)都可以加上,編譯tdd用例也沒關(guān)系

添加 -T packages --gn-args skip_gen_module_info=true參數(shù)

在不編譯image的時(shí)候:-T packages --gn-args skip_gen_module_info=true,去掉gn階段module info的生成

./build.sh --product-name rk3568 --build-target 模塊名 -T packages --gn-args 
skip_gen_module_info=true

添加 --gn-args load_test_config=false參數(shù)

在不編譯test用例的時(shí)候加上 --gn-args load_test_config=false,來去掉gn階段test相關(guān)編譯目標(biāo)的解析。

以上參數(shù)可疊加使用

例如全量編譯,筆者使用下面這條命令編譯速度提升了120%:

./build.sh --product-name rk3568 --disable-post-build --disable-package-image 
--gn-args enable_notice_collection=false --gn-args load_test_config=false

添加 --fast-rebuild參數(shù) 方式等效于執(zhí)行 ninja -C

首先用./build.sh全量編譯,然后在源碼下執(zhí)行ninja -C out/rk3568 moduleb_lib(編譯對象模塊)

# 例如編譯wukong部件的二進(jìn)制可執(zhí)行文件wukong
# 將gn和ninja可執(zhí)行文件添加到PATH環(huán)境變量的方法(臨時(shí)改變,只能在當(dāng)前的終端窗口中有效)
export
PATH=$PATH:/home/jiajiahao/ohos3.2beta4/sources/prebuilts/build-tools/linux-x86/bin
# 然后在源碼目錄下執(zhí)行如下語句
ninja -C out/rk3568 wukong

如何讓OpenHarmony編譯速度“狂飆”-開源基礎(chǔ)軟件社區(qū)

# 例如編譯ace_napi部件的動(dòng)態(tài)庫libace_napi.z.so
# 將gn和ninja可執(zhí)行文件添加到PATH環(huán)境變量的方法(臨時(shí)改變,只能在當(dāng)前的終端窗口中有效)
export PATH=$PATH:/你自己的源碼路徑/sources/prebuilts/build-tools/linux-x86/bin
# 然后在源碼目錄下執(zhí)行如下語句
ninja -C out/rk3568 ace_napi

如何讓OpenHarmony編譯速度“狂飆”-開源基礎(chǔ)軟件社區(qū)

將gn和ninja可執(zhí)行文件添加到PATH環(huán)境變量的方法

將gn和ninja可執(zhí)行文件添加到PATH環(huán)境變量的方法(臨時(shí)改變,只能在當(dāng)前的終端窗口中有效)。

# 
找到讀者你自己的OpenHarmony源碼目錄下的gn和ninja可執(zhí)行文件絕對路徑,在源碼下/prebuilts/build-tools/linux-x86/bin
export
PATH=$PATH:/home/xxx/xxx/sources/prebuilts/build-tools/linux-x86/bin

例如筆者的gn和ninja可執(zhí)行文件絕對路徑。

export 
PATH=$PATH:/home/jiajiahao/ohos3.2beta4/sources/prebuilts/build-tools/linux-x86/bin

notice file是否收集的編譯選項(xiàng)–gn-args enable_notice_collection=false是如何支持的。

相關(guān)PR https://gitee.com/openharmony/build/pulls/772/files

指定編譯期間的日志級別

在OpenHarmony的build.sh里通過–log-level可以指定編譯期間的日志級別,三個(gè)級別可選:debug, info和error,默認(rèn)值是info

./build.sh --product-name rk3568 --ccache --log-level=debug

本地打開ninja trace: 解壓out/rk3568/build.trace.gz,將build.trace拖到chrome的trace鏈接chrome://tracing/打開即可。

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

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

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

責(zé)任編輯:jianghua 來源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2023-07-27 14:38:33

開源鴻蒙

2024-07-26 16:39:33

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

2019-12-23 08:57:50

Python代碼單線程

2022-04-27 09:24:22

前端代碼速度

2023-08-09 07:04:17

清華微軟LLM

2025-01-13 12:30:00

C++開發(fā)編譯

2023-08-11 14:06:58

鴻蒙Windows

2022-01-11 15:41:18

鴻蒙HarmonyOS應(yīng)用

2023-12-11 17:26:21

Launcher鴻蒙預(yù)安裝應(yīng)用

2023-12-11 17:30:52

預(yù)安裝應(yīng)用鴻蒙Launcher

2023-08-28 08:40:23

Sonic開發(fā)JSON

2025-06-16 09:13:00

2022-05-07 16:13:59

DevEcoTool鴻蒙

2022-05-27 15:04:53

鴻蒙操作系統(tǒng)

2021-12-02 10:05:01

鴻蒙HarmonyOS應(yīng)用

2016-03-02 17:55:03

app用戶加載

2013-06-13 10:02:36

JavaScriptJavaScript編

2021-02-25 21:37:48

iOS應(yīng)用系統(tǒng)

2023-02-01 16:28:30

Linux內(nèi)核鴻蒙

2023-03-13 16:00:05

訓(xùn)練模型
點(diǎn)贊
收藏

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

欧美激情18p| 日韩一级大片在线观看| 先锋影音网一区| 国产永久免费视频| 1000部精品久久久久久久久| 亚洲精选中文字幕| 亚洲va在线va天堂va偷拍| 香蕉久久aⅴ一区二区三区| av高清不卡在线| 国产欧美精品日韩精品| 中文在线观看免费网站| 欧美在线电影| 亚洲国产精品99| 最新天堂在线视频| 鲁鲁在线中文| 亚洲男人天堂一区| 欧美人与性禽动交精品| 国产黄色高清视频| 麻豆精品在线观看| 2020久久国产精品| 欧美黑人猛猛猛| 欧美伦理在线视频| 日韩精品在线第一页| 九九热视频免费| 国精产品一区一区三区四川| 亚洲国产一区二区a毛片| 亚洲精品一区二区三区樱花 | 国产精品国产精品| 一级黄色短视频| 日日摸夜夜添夜夜添亚洲女人| 欧美高清视频一区二区| 国产美女高潮视频| 精品久久久亚洲| 国产视频精品久久久| 欧美一级大片免费看| 亚洲图片小说区| 欧美亚洲图片小说| 99蜜桃臀久久久欧美精品网站| 波多野结依一区| 一区二区欧美视频| 黄色成人在线免费观看| 欧美性猛交xxx乱大交3蜜桃| 国产性天天综合网| 欧美成ee人免费视频| 欧美自拍偷拍第一页| 国产成人av在线影院| 成人久久久久久| 最近日韩免费视频| 日产国产高清一区二区三区| 国产成人在线视频| 99re国产在线| 免播放器亚洲一区| 国产精品手机播放| 一级黄色大片网站| 久久超碰97中文字幕| 国产乱肥老妇国产一区二| 青娱乐在线免费视频| 三级一区在线视频先锋| 日韩女优在线播放| 中文字幕+乱码+中文字幕明步| 天堂影院一区二区| 国产精品普通话| 一级黄色片免费看| 国产高清亚洲一区| 成人综合色站| 五月婷婷深深爱| 久久久久久久精| 五月天色一区| 日本成a人片在线观看| 亚洲免费色视频| 国产女主播自拍| 乡村艳史在线观看| 欧美视频一区在线| 成人高清在线观看视频| 国产伦理久久久久久妇女| 亚洲国产又黄又爽女人高潮的| www.啪啪.com| 国产一区二区亚洲| 日韩一区二区精品视频| 久久国产免费观看| 久久一日本道色综合久久| 国产精品一区二区性色av| aaa一区二区三区| 2021中文字幕一区亚洲| 亚洲国产精品一区二区第四页av| www国产在线观看 | 中文字幕在线看人| 久久精品国产99国产精品| 91在线免费看片| 三级毛片在线免费看| 中日韩av电影| 女人帮男人橹视频播放| 播放一区二区| 欧美mv日韩mv国产| 国产激情av在线| 黑丝一区二区| 国产精品日韩在线播放| 乱色精品无码一区二区国产盗| 久久久久久久久久久黄色| 日本女人高潮视频| 男人最爱成人网| 精品日产卡一卡二卡麻豆| 国内精品卡一卡二卡三| 欧美黄色一区| 国产精品黄色av| 国产77777| 国产精品第一页第二页第三页| 少妇高潮毛片色欲ava片| 欧美伊人亚洲伊人色综合动图| 亚洲成av人片在线观看香蕉| 国产精品麻豆免费版现看视频| 亚洲国产欧美国产综合一区| 国产精品亚洲欧美导航| 四虎影院在线播放| 一二三区精品福利视频| 在线观看国产中文字幕| 亚洲另类av| 久久久久久久久久久91| 一本久道久久综合无码中文| 久久婷婷一区二区三区| 国产一级做a爰片久久毛片男| 怡红院成人在线| 亚洲精品美女免费| 青青草手机在线观看| 蜜桃视频一区二区三区| 欧美亚洲精品日韩| 深夜av在线| 亚洲成色999久久网站| 国产人妻精品一区二区三区不卡| 日本aⅴ免费视频一区二区三区 | 香蕉加勒比综合久久| 特级西西444www| 日韩在线二区| 国产精品成熟老女人| 免费在线一级视频| 日韩欧美中文字幕在线观看| 国产精品无码一区二区三| 亚洲小说欧美另类社区| 99电影在线观看| 最新黄网在线观看| 欧美一区二区三区爱爱| 欧美在线视频第一页| 激情欧美日韩一区二区| 亚洲永久激情精品| 免费一区二区三区四区| 最新日韩中文字幕| 亚洲香蕉在线视频| 国产精品成人午夜| 五月天丁香花婷婷| 在线看片不卡| 97免费资源站| h片精品在线观看| 亚洲国产精品系列| 91精品国产高清一区二区三密臀| 99re66热这里只有精品3直播 | 国产在线观看免费av| 国产v日产∨综合v精品视频| 日韩欧美猛交xxxxx无码| 亚洲精品一区在线| 88xx成人精品| 久久精品蜜桃| 欧美日韩二区三区| 日本老熟俱乐部h0930| 国产黄色91视频| 黄色一级视频在线播放| 特黄特色欧美大片| 国产精品美女久久久久av超清| 一区二区高清不卡| 日韩视频一区二区在线观看| 国产在线视频二区| 99久久国产综合精品色伊 | 日韩三区免费| 深夜成人在线观看| xxxx国产精品| 欧美日韩亚洲激情| 美女网站视频色| 国产成人午夜精品影院观看视频 | 国产精品资源在线看| 国产一区二区四区| 国产精品欧美在线观看| 成人免费淫片aa视频免费| 久久www人成免费看片中文| 亚洲欧美日本精品| 国产精品丝袜黑色高跟鞋| 亚洲成人福利片| 久久精品—区二区三区舞蹈| 国内一区二区视频| 一本大道熟女人妻中文字幕在线 | 精品亚洲精品| 国产精品美女www| 精品一性一色一乱农村| 亚洲欧美中文字幕| 午夜老司机福利| 91国偷自产一区二区开放时间| 中文字幕av播放| 久久久久久电影| 日本亚洲一区二区三区| 男人的天堂成人在线| 日本精品福利视频| 精品一区二区三| 国产成人成网站在线播放青青 | 成人在线免费观看视视频| 国产探花视频在线观看| 在线日韩欧美视频| 亚洲欧美日本在线观看| 欧美一二区视频| 日韩av男人天堂| 亚洲天堂a在线| 亚洲区自拍偷拍| www.在线欧美| 亚洲图片 自拍偷拍| 久久精品人人| 加勒比成人在线| 亚洲激情中文| 午夜一区二区三视频在线观看| 欧美在线关看| 成人一区二区在线| 日本久久二区| 国产99久久精品一区二区| а_天堂中文在线| 欧美另类99xxxxx| 免费超碰在线| 一区二区三欧美| 日本人妖在线| 亚洲国产日韩欧美综合久久| www.四虎在线观看| 在线播放一区二区三区| 中文字幕一区二区三区免费看| 欧美日韩国产一区二区三区| 精品人妻在线播放| 亚洲免费视频成人| 色欲一区二区三区精品a片| 亚洲国产精品成人综合色在线婷婷| 免费看黄色aaaaaa 片| 成人精品高清在线| 色婷婷狠狠18禁久久| 国产精品亚洲а∨天堂免在线| 日日干日日操日日射| 久久国产生活片100| 9l视频白拍9色9l视频| 蜜桃视频在线观看一区| 男女污污的视频| 日韩在线观看一区二区| 久久黄色免费看| 日本色综合中文字幕| 牛夜精品久久久久久久| 日本亚洲最大的色成网站www| 免费在线观看的av网站| 久久精品成人| 在线看的黄色网址| 蜜桃av一区二区在线观看| 57pao国产成永久免费视频| 久久精品国产精品亚洲精品| 污污网站免费观看| 国产精品一级片在线观看| 日本xxxx免费| 成a人片亚洲日本久久| 黄色录像a级片| 久久午夜电影网| 影音先锋男人在线| 亚洲欧洲精品一区二区三区不卡| 国产成人av免费在线观看| 一区二区三区国产| 日本视频免费在线| 色狠狠av一区二区三区| 中文字幕在线观看欧美| 欧美一区二区三区啪啪| 亚洲AV无码精品自拍| 亚洲国内高清视频| yw视频在线观看| 久久久极品av| sm久久捆绑调教精品一区| 热草久综合在线| 久久婷婷五月综合色丁香| 91人成网站www| 老司机成人在线| 日本一区视频在线播放| 亚洲天堂免费| 久色视频在线播放| 美女爽到高潮91| 肉丝美足丝袜一区二区三区四| 久久综合资源网| 精品视频第一页| 舔着乳尖日韩一区| 亚洲中文字幕在线一区| 精品欧美久久久| 第一页在线观看| 欧美日本中文字幕| 桃子视频成人app| 亚洲aaaaaa| 欧美日韩xxxx| 黄色成人在线免费观看| 日韩电影免费在线看| 日本wwww色| 国产精品美女久久久久久久网站| 动漫精品一区一码二码三码四码| 色婷婷精品久久二区二区蜜臀av| 国产丰满果冻videossex| 亚洲全黄一级网站| 日韩电影免费观看| 国产精品欧美一区二区| 青青久久av| 男女啪啪免费观看| 日韩和欧美的一区| www.555国产精品免费| 亚洲欧洲精品成人久久奇米网| 午夜精品久久久久久久久久久久久蜜桃 | 亚洲v欧美v另类v综合v日韩v| 午夜精品电影| 国产又大又黄又粗的视频| 成人精品电影在线观看| 日本中文在线视频| 欧美色精品在线视频| 午夜视频在线播放| 欧美高跟鞋交xxxxxhd| 国产a亚洲精品| 欧美一区亚洲二区| 一本色道久久综合亚洲精品不卡 | 亚洲天堂2021av| 日韩激情在线视频| 爱情岛亚洲播放路线| 亚洲综合在线做性| 忘忧草精品久久久久久久高清| 老司机午夜av| 99这里只有久久精品视频| 免费在线一级片| 91精品福利在线一区二区三区 | 中文字幕国产传媒| 久久综合资源网| 草久久免费视频| 亚洲国产精品电影| 色帝国亚洲欧美在线| 91在线高清免费观看| 婷婷成人基地| 国产一级片自拍| 亚洲欧洲av色图| 91久久久久久久久久久久| 中文字幕av一区二区| 51一区二区三区| 翔田千里亚洲一二三区| 免费成人av在线播放| 黑人と日本人の交わりビデオ| 欧洲视频一区二区| 成人精品一区二区| 国产精品一区二区在线| 97色伦图片97综合影院| 中文字幕久久av| 《视频一区视频二区| 国产乱叫456在线| 欧美超级乱淫片喷水| 视频欧美一区| 99在线精品免费视频| 不卡的av中国片| 天堂а√在线中文在线新版| 亚洲人午夜色婷婷| 日本一区二区电影| 制服国产精品| 粉嫩aⅴ一区二区三区四区| 国产极品美女高潮无套嗷嗷叫酒店| 亚洲成人网在线| 中文字幕在线中文字幕在线中三区| 欧美性色黄大片人与善| 麻豆精品一区二区av白丝在线| 999福利视频| 日韩欧美在线网站| 国产精品论坛| 色播亚洲视频在线观看| 久久成人免费电影| 久久久久久蜜桃| 亚洲免费一在线| 亚洲精品自拍| 日韩网站在线免费观看| 久久久激情视频| 中文亚洲av片在线观看| 欧美精品生活片| 欧美 日韩 综合| 国产精品丝袜久久久久久app| 影音先锋国产在线| 欧美精品免费在线| 日韩精品免费一区二区夜夜嗨 | 在线视频91| 国产·精品毛片| 久久精品无码av| 色777狠狠综合秋免鲁丝| 国产精品一区二区三区www| 僵尸世界大战2 在线播放| 国产日韩欧美亚洲| 国产黄色av片| 国产va免费精品高清在线| 香蕉综合视频| 国产精品无码一区二区三| 欧美日韩国产精选| 超碰在线网站| 色一情一乱一伦一区二区三区| 国产精品夜夜爽| 亚洲中文一区二区| 欧美尺度大的性做爰视频| 久久综合亚洲| 亚洲女则毛耸耸bbw| 欧美午夜免费电影|