- https://blog.csdn.net/csdn_idiot/article/details/106188831
- https://blog.csdn.net/bjrxyz/article/details/90347292
chromium(linux環境)指定版本下載下傳和編譯教程
使用gquic,需要用到chromium的net/third_party/quiche包,是以研究了下chromium編譯的流程。chromium編譯過程遇到了不少坑,總結下步驟:
前提:編譯chromium的網絡問題,每個人都有每個人的解決方案,解決後,接下來可以下載下傳編譯了(系統ubuntu)
1.首先我們閱讀下官方文檔(重要!!!)官網連結
2.大概步驟心中有數後,開始下面具體步驟吧:
(a)确認下是否已經安裝python,系統可能已經自帶了多個python版本,檢視python不同版本教程連結。
(b)安裝git,同時設定git全局配置參數。對于需要拉取指定版本chromium的,一定要增加全局參數如下:
git config --global core.autocrlf falsegit config --global core.safecrlf true
參數具體作用就是避免拉取chromium代碼時,git幫你自動更改換行符,導緻源檔案被修改,無法切到指定版本(不同作業系統的換行符不一緻,git預設會幫你轉換)。
(c)安裝depot_tools工具:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
配置環境變量(也可以寫depot_tools的絕對路徑),此環境變量配置為臨時配置,登出會失效,重新登入需要重新配置該環境變量:
export PATH="$PATH:${HOME}/depot_tools"
(d)拉取chromium代碼:
mkdir ~/chromium && cd ~/chromiumfetch --nohooks chromium
如果你隻是想拉取最新的chromium代碼,不需要切指定版本,推薦fetch --nohooks chromium --no-history ,加入--no-history能少下載下傳接近一半的量,若需要特定版本chromium,必須全量拉取,否則切版本時錯誤較多,一個個修複相當麻煩。
(e)漫長的等待後~拉取完畢後,進入拉取時生成的src目錄。
(f)開始切換指定版本,若使用master分支最新版本,則直接跳過此步驟:
git fetch origin --tagsgit reset --hard 81.0.4008.1gclient sync --force --nohooks --with_branch_heads
注意:官方提供的checkout方案切指定版本存在問題,執行完畢後仍是最新版本。若報這種"fatal: reference is not a tree"類似錯誤,解決方案進入報錯的庫目錄,checkout至指定版本,詳情見解決方案連結。
(g)然後開始安裝建構依賴:
./build/install-build-deps.sh
(h)下載下傳run the Chromium-specific hooks額外的二進制檔案:
gclient runhooks
(I)使用gn産生.ninja檔案,并使用ninja進行編譯:
gn gen out/Default
out目錄在src目錄内。Default確定在out目錄内,可以任意取名。
ninja -C out/Default chrome
執行完畢,即可成功編譯出chrome。
————————————————
版權聲明:本文為CSDN部落客「csdn_idiot」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/csdn_idiot/java/article/details/106188831