chromium瀏覽器高級開發系列第一篇:如何獲取最新chromium源碼


背景:
     
最近攤上一個事兒,領導非要讓寫一篇技術文章,思來想去,自己接觸chrome瀏覽器時間也不短了,干脆就總結一下吧。於是乎,本文順理成章。由於有些細節必需描述清楚,所以這次先講如何拿到chromium的源碼,下次直接把編譯過程寫出來,供大家參考。

前期准備:
     之前的chromium源碼都是用svn來維護,所以源碼地址網上貼的到處都是,我看了一下,svn的版本最新的也就到39,往下就沒有更新了。所以又看了chromium的官方,把源碼編譯的前期准備看了一通。簡單敘述如下:

 

 

 

 

 

 

 

從chromium網站看到下面幾句話,說明depot_tools和git很重要。所以先從它們入手。

1.下載depot_tools

下載地址:

https://src.chromium.org/svn/trunk/tools/depot_tools.zip

注意:不要使用拖拽和復制粘貼的方式從壓縮包中提取文件,否則”.git”隱藏文件夾下的文件不會被提取出來。“.git”文件夾是depot_tools自動更新的必要文件。你可以使用解壓工具的“解壓文件…”操作。

 

環境變量設置,給個圖更直觀:

管理員權限用戶:

修改PATH系統變量,在最后增加depot_tools的路徑地址,如:C:\workspace\depot_tools.

 

非管理員用戶:

添加PATH用戶變量:在用戶變量點擊新建,增加PATH變量名,變量值為depot_tools的路徑地址,如上圖。

 

2.安裝git和python

如果你已經手動安裝了msysgit和python,則跳過這一步。

從命令行到保存chromium源碼的路徑下,運行命令:gclient。第一次運行,gclient將會安裝所有和獲取源碼相關的工具,例如git,python:

Fetching fromhttps://src.chromium.org/svn/trunk/tools/third_party/svn_bin.zip

fatal: unable toaccess 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/':Failed connect to chromium.googlesource.com:9217; No error

Cannot rebase:You have unstaged changes.

Please commit orstash them.

Failed to updatedepot_tools.

如果遇到上述問題,應該是你無法連接到chromium服務器,你可以使用vpn或者代理。

 

注意:

1)如果你在cygwin或者PowerShell等非命令行窗口運行gclient時,有可能能正常運行,但是msysgit,python和其他工具可能不會正確安裝。

2)在首次運行gclient時,如果看到和文件系統相關的很奇怪的錯誤,你可以去這里找答案: http://tortoisesvn.tigris.org/faq.html#cantmove2.

3)如果你在windows xp上運行,並且看到像下面的錯誤:“The system cannotexecute the specified program”, 請安裝 “Microsoft Visual C++ 2008 RedistributablePackage”.

3.git設置

Git安裝后需要一些設置

如果你從來沒有用過git,還是先百度一下git的使用方法,至少知道一些簡單的操作命令。

 

*在獲取代碼之前,確認git,python,depot_tools已經加入環境變量中。

4.獲取代碼

1)獲取主干代碼:到達保存chromium代碼的路徑,直接右鍵git bash,輸入$ fetch --nohooks chromium --nosvn=true開始獲取主干代碼:

 

這個過程比較慢,估計下載需要幾個小時時間,慢的話也許十幾個小時,所以大家最好把這一步放在晚上睡覺時進行。

 

2)獲取主干分支標簽(版本)信息:

切換至src目錄下:

git fetch --tags >>tags.txt 2>&1  //標簽號42.0.2311.61會保存在tags.txt文件中

git checkout -b chrome_42.0.2311.61_local_branch 42.0.2311.61

gclient sync --with_branch_heads --jobs 16

 

以上命令的解析大家都可以在命令的幫助里面查到。

至此,代碼已經被下載到各位的硬盤中,通過git命令就可以看到分支及標簽情況。今天先講這么多,下次會把編譯過程提供給大家。

注:拉取代碼的過程可能很長,取決於使用的vpn的質量;最后代碼拉取成功但是執行runhooks的時候腳本可能會失敗,至於是否影響chrome的編譯,那就只能看運氣了。

 

附:

chromium源碼channel:

canary channel:實驗版本,每日發布。它沒有經過充分測試,可能有某些奇怪的bug。

dev channel:每2星期發布,相對穩定,新功能和新特性都有。

beta channel:每周更新,6周大版本更新。比較穩定了,比dev版小1個版本,比stable版本早進化一個月。

stable channel:穩定版,比dev版本小2個版本,2到3周次版本更新,6周主版本更新。

第一時間獲得博客更新提醒,以及更多技術信息分享,歡迎關注個人微信公眾平台:程序員互動聯盟(coder_online),掃一掃下方二維碼或搜索微信號coder_online即可關注,我們可以在線交流。

轉載請注明出處:http://www.cnblogs.com/ghost045/p/4367256.html,謝謝合作!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM