转载:浏览器开发系列第一篇:如何获取最新chromium源码
背景:
? ? ?最近攤上一個(gè)事兒,領(lǐng)導(dǎo)非要讓寫(xiě)一篇技術(shù)文章,思來(lái)想去,自己接觸chrome瀏覽器時(shí)間也不短了,干脆就總結(jié)一下吧。于是乎,本文順理成章。由于有些細(xì)節(jié)必需描述清楚,所以這次先講如何拿到chromium的源碼,下次直接把編譯過(guò)程寫(xiě)出來(lái),供大家參考。
前期準(zhǔn)備:
? ? ?之前的chromium源碼都是用svn來(lái)維護(hù),所以源碼地址網(wǎng)上貼的到處都是,我看了一下,svn的版本最新的也就到39,往下就沒(méi)有更新了。所以又看了chromium的官方,把源碼編譯的前期準(zhǔn)備看了一通。簡(jiǎn)單敘述如下:
?
從chromium網(wǎng)站看到下面幾句話,說(shuō)明depot_tools和git很重要。所以先從它們?nèi)胧帧?/p>
1.下載depot_tools
下載地址:
https://src.chromium.org/svn/trunk/tools/depot_tools.zip
注意:不要使用拖拽和復(fù)制粘貼的方式從壓縮包中提取文件,否則”.git”隱藏文件夾下的文件不會(huì)被提取出來(lái)。“.git”文件夾是depot_tools自動(dòng)更新的必要文件。你可以使用解壓工具的“解壓文件…”操作。
?
環(huán)境變量設(shè)置,給個(gè)圖更直觀:
管理員權(quán)限用戶:
修改PATH系統(tǒng)變量,在最后增加depot_tools的路徑地址,如:C:\workspace\depot_tools.
?
非管理員用戶:
添加PATH用戶變量:在用戶變量點(diǎn)擊新建,增加PATH變量名,變量值為depot_tools的路徑地址,如上圖。
2.安裝git和python
如果你已經(jīng)手動(dòng)安裝了msysgit和python,則跳過(guò)這一步。
從命令行到保存chromium源碼的路徑下,運(yùn)行命令:gclient。第一次運(yùn)行,gclient將會(huì)安裝所有和獲取源碼相關(guān)的工具,例如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.
如果遇到上述問(wèn)題,應(yīng)該是你無(wú)法連接到chromium服務(wù)器,你可以使用vpn或者代理。
?
注意:
1)如果你在cygwin或者PowerShell等非命令行窗口運(yùn)行g(shù)client時(shí),有可能能正常運(yùn)行,但是msysgit,python和其他工具可能不會(huì)正確安裝。
2)在首次運(yùn)行g(shù)client時(shí),如果看到和文件系統(tǒng)相關(guān)的很奇怪的錯(cuò)誤,你可以去這里找答案: http://tortoisesvn.tigris.org/faq.html#cantmove2.
3)如果你在windows xp上運(yùn)行,并且看到像下面的錯(cuò)誤:“The system cannotexecute the specified program”, 請(qǐng)安裝 “Microsoft Visual C++ 2008 RedistributablePackage”.
3.git設(shè)置
Git安裝后需要一些設(shè)置
如果你從來(lái)沒(méi)有用過(guò)git,還是先百度一下git的使用方法,至少知道一些簡(jiǎn)單的操作命令。
?
*在獲取代碼之前,確認(rèn)git,python,depot_tools已經(jīng)加入環(huán)境變量中。
4.獲取代碼
1)獲取主干代碼:到達(dá)保存chromium代碼的路徑,直接右鍵git bash,輸入$ fetch --nohooks chromium --nosvn=true開(kāi)始獲取主干代碼:
這個(gè)過(guò)程比較慢,估計(jì)下載需要幾個(gè)小時(shí)時(shí)間,慢的話也許十幾個(gè)小時(shí),所以大家最好把這一步放在晚上睡覺(jué)時(shí)進(jìn)行。
?
2)獲取主干分支標(biāo)簽(版本)信息:
切換至src目錄下:
git fetch --tags >>tags.txt 2>&1 ?//標(biāo)簽號(hào)42.0.2311.61會(huì)保存在tags.txt文件中
git checkout -b chrome_42.0.2311.61_local_branch 42.0.2311.61
gclient sync --with_branch_heads --jobs 16
?
以上命令的解析大家都可以在命令的幫助里面查到。
至此,代碼已經(jīng)被下載到各位的硬盤(pán)中,通過(guò)git命令就可以看到分支及標(biāo)簽情況。今天先講這么多,下次會(huì)把編譯過(guò)程提供給大家。
注:拉取代碼的過(guò)程可能很長(zhǎng),取決于使用的vpn的質(zhì)量;最后代碼拉取成功但是執(zhí)行runhooks的時(shí)候腳本可能會(huì)失敗,至于是否影響chrome的編譯,那就只能看運(yùn)氣了。
?
?
附:
chromium源碼channel:
canary channel:實(shí)驗(yàn)版本,每日發(fā)布。它沒(méi)有經(jīng)過(guò)充分測(cè)試,可能有某些奇怪的bug。
dev channel:每2星期發(fā)布,相對(duì)穩(wěn)定,新功能和新特性都有。
beta channel:每周更新,6周大版本更新。比較穩(wěn)定了,比dev版小1個(gè)版本,比stable版本早進(jìn)化一個(gè)月。
stable channel:穩(wěn)定版,比dev版本小2個(gè)版本,2到3周次版本更新,6周主版本更新。
第一時(shí)間獲得博客更新提醒,以及更多技術(shù)信息分享,歡迎關(guān)注個(gè)人微信公眾平臺(tái):程序員互動(dòng)聯(lián)盟(coder_online),掃一掃下方二維碼或搜索微信號(hào)coder_online即可關(guān)注,我們可以在線交流。
?
轉(zhuǎn)自:http://my.oschina.net/u/2335664/blog/391787
?
轉(zhuǎn)載于:https://www.cnblogs.com/2010wuhao/p/4370895.html
總結(jié)
以上是生活随笔為你收集整理的转载:浏览器开发系列第一篇:如何获取最新chromium源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 问一下全新荣威RX5的安全性表现哪些方面
- 下一篇: 【转】IE浏览器快捷键大全