天天看點

指定版本拉取

  • 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