精品欧美一区二区三区在线观看 _久久久久国色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)

天天干天天操天天拍| 欧美精品一区免费| 亚洲第一成年人网站| 亚洲小说欧美另类社区| 日韩av中文在线| 久久久国产欧美| av在线免费网站| 9人人澡人人爽人人精品| 国产精品极品美女粉嫩高清在线| 欧美特黄一级片| 欧美美女在线直播| 欧美欧美欧美欧美| 凹凸国产熟女精品视频| 美女国产在线| 久久品道一品道久久精品| 国产综合福利在线| 国产区一区二区三| 亚洲精品一区二区妖精| 精品亚洲一区二区三区在线观看| 一二三av在线| 日韩天堂在线| 午夜精品免费在线| 欧美少妇在线观看| 成人亚洲性情网站www在线观看| 国产精品538一区二区在线| 欧美在线激情视频| 国产亚洲精品码| 久久综合88| 亚洲欧美成人网| 丰满岳乱妇一区二区| 高清在线一区二区| 欧美日韩午夜在线| 亚洲精品乱码久久久久久自慰| 色呦呦久久久| 亚洲婷婷国产精品电影人久久| 欧美日韩亚洲在线| 视频污在线观看| 国产麻豆精品久久一二三| 国产精品免费一区豆花| 青青草免费观看视频| 亚洲韩日在线| 欧美精品精品精品精品免费| 疯狂试爱三2浴室激情视频| 日韩电影免费网址| 在线播放国产一区中文字幕剧情欧美 | 亚洲a在线播放| 欧美性受xxx黑人xyx性爽| 午夜在线a亚洲v天堂网2018| 91国内在线视频| 国产精品1000| 精品1区2区3区4区| 精品中文字幕视频| www.99re7| 欧美国产91| 久久777国产线看观看精品| 五月天激情丁香| 偷偷www综合久久久久久久| 日韩中文字幕在线观看| 国产又色又爽又高潮免费| 青草伊人久久| 欧美精品一区二区三区高清aⅴ| 不卡的一区二区| 视频精品一区二区三区| 日韩视频在线观看一区二区| 潘金莲一级淫片aaaaa| 91蜜桃臀久久一区二区| 亚洲精品国产欧美| 日本japanese极品少妇| 羞羞色国产精品网站| 亚洲女人初尝黑人巨大| 五月天免费网站| 亚洲国产成人精品女人| 久久久久久久久久久免费精品| 99免费在线观看| 免费国产自线拍一欧美视频| 国产成人精品一区| 88av在线视频| 盗摄精品av一区二区三区| 精品产品国产在线不卡| 国产区视频在线播放| 中文字幕永久在线不卡| 99视频精品全部免费看| 日韩电影毛片| 欧美日韩精品一区二区在线播放| 911福利视频| 一区二区三区在线资源| 亚洲人成毛片在线播放| 四虎永久免费地址| 亚洲二区视频| 国产美女久久久| 成人小说亚洲一区二区三区| 久久毛片高清国产| 91嫩草国产丨精品入口麻豆| 在线看的毛片| 6080午夜不卡| 中文字幕日韩三级片| 欧美hentaied在线观看| 久久久人成影片一区二区三区观看 | 国产精品成人播放| 99久久免费国产精精品| 91麻豆高清视频| 欧美aaa在线观看| 激情黄产视频在线免费观看| 欧美日韩精品欧美日韩精品一 | 久久久999免费视频| 久久亚洲资源中文字| 亚洲国产精品字幕| 久草综合在线视频| 蜜臀av在线播放一区二区三区| 成人av资源网| 久久99精品久久久久久野外| 欧美日韩性视频在线| 免费涩涩18网站入口| 黑人久久a级毛片免费观看| 中文字幕亚洲欧美日韩在线不卡 | 色就色 综合激情| 女人扒开双腿让男人捅| 日韩黄色大片网站| 欧美一性一乱一交一视频| 精品人妻无码一区二区色欲产成人 | 欧美日韩国产高清一区二区三区 | 在线视频观看一区二区| 国产精品探花在线观看| 午夜精品久久久99热福利| 国产精品久久久久久免费 | 日韩精品另类天天更新| а√天堂中文在线资源8| 91精品在线免费| 一级片黄色录像| 日韩电影在线免费观看| 精品麻豆av| 免费在线播放电影| 欧美一区二区在线播放| 日本成人精品视频| 日韩va欧美va亚洲va久久| 免费久久久一本精品久久区| 国产极品在线观看| 日韩电影网在线| 日本五十熟hd丰满| 成人精品免费视频| 久艹在线免费观看| 中文字幕视频精品一区二区三区| 久久久精品久久久久| 国产又粗又猛又黄又爽| 国产精品美女久久久久久久久| 成年人网站大全| 欧洲专线二区三区| 日韩免费黄色av| 精品成人一区二区三区免费视频| 一本色道久久综合亚洲精品按摩 | 亚洲欧洲日韩av| 亚欧激情乱码久久久久久久久| 国产探花一区二区| 国产日韩av在线播放| 日本高清视频在线播放| 欧美日本国产视频| 国产午夜精品理论片在线| 精品在线免费视频| 欧洲精品视频在线| 好吊妞国产欧美日韩免费观看网站| 高清在线视频日韩欧美| 视频午夜在线| 欧美在线色视频| 国产三级aaa| 国产传媒一区在线| 欧美综合在线播放| 国产免费久久| 国产中文日韩欧美| 日韩少妇视频| 亚洲精品美女在线| 中国精品一区二区| 亚洲精品乱码久久久久久黑人 | 日韩av三级在线| 亚洲资源网站| 91精品国产综合久久香蕉最新版| 国产婷婷视频在线| 亚洲国产精品推荐| 国产精品传媒在线观看| 亚洲欧美经典视频| 亚洲av成人无码一二三在线观看| 欧美专区18| 女女同性女同一区二区三区按摩| 哺乳挤奶一区二区三区免费看| 91超碰中文字幕久久精品| 成人影视在线播放| 日韩欧美国产三级| 日本视频免费观看| 亚洲欧美激情小说另类| 美女脱光内衣内裤| 国产在线精品不卡| 久久久久久久中文| 亚洲成人精品| 欧美精品与人动性物交免费看| 国产成人免费| 欧美一区第一页| 国产三区视频在线观看| 精品一区二区三区四区在线| 在线观看中文字幕网站| 亚洲成av人片一区二区梦乃 | 日韩专区精品| 久久国产精品免费一区| 久久亚洲人体| 日产日韩在线亚洲欧美| 91高清在线观看视频| 亚洲社区在线观看| 人妻无码一区二区三区久久99| 欧美亚洲综合色| 日韩成人高清视频| 亚洲柠檬福利资源导航| 91精品久久久久久久久久久久| 国产**成人网毛片九色 | 妺妺窝人体色www看人体| 怕怕欧美视频免费大全| 国产在线播放一区二区| 成人在线分类| 国产精品普通话| 日韩理论视频| 久久久久久噜噜噜久久久精品| 日本高清视频在线观看| 一区二区三区高清国产| 日韩在线免费播放| 精品1区2区在线观看| 97人妻精品一区二区三区软件 | 久久久噜久噜久久综合| av免费看在线| 久久精品国产亚洲精品| 成人高清网站| 亚洲天堂免费视频| 午夜成人鲁丝片午夜精品| 精品国精品自拍自在线| 国产精品久久久久久久免费看| 欧美日韩中文另类| 免费黄色一级大片| 在线欧美一区二区| 国产字幕在线观看| 色素色在线综合| 亚洲天堂视频网站| 色婷婷久久99综合精品jk白丝| 日韩免费观看一区二区| 亚洲大片在线观看| 日韩美女一级片| 亚洲午夜羞羞片| 久久久久无码精品国产| 亚洲一区二区精品久久av| 午夜少妇久久久久久久久| 亚洲老司机在线| 欧美极品aaaaabbbbb| 亚洲一级不卡视频| 欧美亚洲天堂网| 欧美日韩在线免费观看| 国产精品一区二区三区四| 色综合久久综合| 国产一级淫片a视频免费观看| 精品久久久久久亚洲精品 | 欧美日韩一区久久| 国产精品一区二区黑人巨大| 日韩一级黄色片| 欧美 日韩 综合| 日韩成人av在线| 美丽的姑娘在线观看免费动漫| 国产亚洲激情视频在线| 日韩在线资源| 欧美激情按摩在线| 老色鬼在线视频| 国产99久久久欧美黑人 | 欧美日韩成人综合天天影院 | 在线一区av| 国产精品视频免费观看www| 色诱色偷偷久久综合| 91九色在线观看| 偷窥自拍亚洲色图精选| 日韩免费电影一区二区| 99成人超碰| 成人免费性视频| 久久裸体视频| 手机精品视频在线| av一区二区不卡| 日本精品久久久久中文| 一区二区三区精密机械公司| 精品国产免费观看| 欧美日韩精品一区二区三区四区 | 黑人巨大国产9丨视频| 伊人影院久久| 一区二区三区网址| 成人夜色视频网站在线观看| 日本高清www| 国产精品国产成人国产三级| 精品在线视频免费观看| 欧美亚洲禁片免费| 亚洲第一色网站| 在线亚洲国产精品网| 欧美xxxbbb| 国产精品草莓在线免费观看| 最新精品在线| 亚洲精品中文字幕乱码三区不卡| 亚洲欧美亚洲| 手机看片福利盒子久久| 成人一级片网址| 国产黄色录像片| 欧美性xxxxhd| 精品人妻一区二区三区四区不卡 | 菠萝蜜视频国产在线播放| 日产精品99久久久久久| 都市激情久久| 自拍另类欧美| 免费精品视频| 人妻 丝袜美腿 中文字幕| 国产精品天干天干在观线 | 欧美年轻男男videosbes| 深夜福利在线观看直播| 欧美多人爱爱视频网站| 久久免费资源| 欧美一区二区在线| 99精品视频免费全部在线| 手机精品视频在线| 国产精品久久免费看| 人人爽人人爽人人片av| 精品国产91乱码一区二区三区| 日本成人在线播放| 国产精品免费小视频| 国产成人三级| 北条麻妃在线观看| av午夜精品一区二区三区| 国产女人被狂躁到高潮小说| 在线不卡中文字幕| 成年人视频在线观看免费| 欧美综合在线观看| 精品久久ai电影| av免费观看国产| 成人午夜电影久久影院| 久久久久亚洲AV| 精品免费99久久| 天堂亚洲精品| eeuss一区二区三区| 国产综合精品一区| 四川一级毛毛片| 亚洲女人小视频在线观看| 国产精品一级视频| 久久伊人色综合| 国产中文欧美日韩在线| 99久re热视频精品98| 激情五月婷婷综合网| 国产精品99久久久久久成人| 91精品午夜视频| www.欧美日本韩国| 91在线免费看片| 国产精品红桃| 极品白嫩的小少妇| 香蕉av福利精品导航| 日韩在线视频观看免费| 97人人模人人爽人人喊中文字| 欧美中文一区| 国产淫片av片久久久久久| 久久久亚洲午夜电影| 天堂免费在线视频| 色吧影院999| 综合久草视频| 日韩一级性生活片| 91在线观看一区二区| 无码人妻av一区二区三区波多野| 亚洲人成啪啪网站| 高清亚洲高清| 国产高清不卡无码视频| 成人免费三级在线| 人人爽人人爽人人片av| 中文字幕亚洲一区在线观看| 不卡一区视频| 国产美女主播在线播放| www精品美女久久久tv| 正在播放木下凛凛xv99| 欧美成人免费小视频| 国产精品白丝av嫩草影院| 丰满人妻中伦妇伦精品app| 国产欧美综合在线观看第十页| 国产精品探花视频| 97久久精品国产| 精品国产精品国产偷麻豆| 一级片免费在线观看视频| 亚洲综合色视频| 黄色毛片在线观看| 亚洲xxxxx| 国产精品日韩欧美一区| 欧日韩不卡视频| 精品精品国产高清a毛片牛牛| 日本久久免费| 国产91porn| 亚洲国产精品t66y| 性做久久久久久久| 国产91免费看片| 欧美激情一区| 真实乱视频国产免费观看| 日韩午夜电影在线观看| 国精产品一区一区三区四川| 激情视频小说图片| 久久久91精品国产一区二区精品| av一级黄色片| 国产精品日韩在线播放| 91久久亚洲| 乱h高h女3p含苞待放| 亚洲色图综合网|