chromium獲取代碼和編譯


轉自360公司的一位仁兄,鏈接地址:http://blog.gclxry.com/?p=364

之前一直是用一個chromium27的代碼來研究chromium的代碼。自己也調用chromium content 寫了一個瀏覽器器,最基本的功能都有。my_chromium

這幾天跑去http://dev.chromium.org/ 上看,chromium的代碼剛好全部遷移到了git管理了。我就想獲取最近的代碼研究吧,畢竟chromium27快一年了,要跟上時代哈。

獲取chromium代碼,以及正確的編譯成功不是一件容易的事。其中的坑太多了,當初我也是一路摸打滾爬中走過來的,說多了都是眼淚。我在這里總結一些,給后來人一點幫助吧。

選擇開發頻道

在獲取chromium代碼之前你先要搞清楚自己需要哪個版本的代碼。chromium同時有四個發布分支,分別是:

  • canary頻道。這一般是最前沿的實驗版本,每日發布。它沒有經過充分測試,可能有某些奇怪的bug。如果是為了學習基礎的chromium代碼,我不建議跟進這個分支。
  • dev頻道。每2星期發布,相對穩定,新功能和新特性都有。
  • beta頻道。每周更新,6周大版本更新。比較穩定了,比dev版小1個版本,基本是發布的候選,比stable版本早進化一個月。
  • stable頻道。就是穩定版,比dev版本小2個版本,2到3周次版本跟新,6周主版本跟新。經過了充分的測試,我比較推薦這個版本。

這里可以看到詳細的說明:http://www.chromium.org/getting-involved/dev-channel

獲取代碼

http://dev.chromium.org/developers/how-tos/get-the-code 上已經寫清楚了如何獲取代碼。現在統一都是用git了。

首要要配置好depot_tools。chromium會用depot_tools去獲取代碼。這個基本上按着文檔來。因為中國的網絡問題,獲取chromium代碼經常失敗,這里強力推薦用vpn。有些公司會屏蔽vpn,比如我們公司。這里只能用IE代理了,但是chromium獲取代碼很多地方沒有走IE代理,這里需要我們自己去hook下腳本了,我曾經寫過如何設置代理的博客。這種方法太麻煩。

獲取代碼現在真是簡單,就一句 fetch chromium,然后慢慢等吧,會下載十幾GB的數據。只要把網絡問題解決了,獲取代碼還是比較順利的,否則就是無法跨越的大坑。

切換到工作分支

成功獲取代碼不一定能夠成功編譯通過,這一點是最郁悶的。

獲取完代碼一般是在master分支,這個分支一直都在更新,不穩定。我們需要切換到一個已發布的穩定版本上。我選擇follow stable頻道的代碼,然后就是要選擇一個版本。在chromium的發布日歷 http://dev.chromium.org/developers/calendar 上找到最新的stable頻道版本,目前是37.0.2062.103。

然后在代碼倉庫目錄中運行git:

 

 編譯工程

http://dev.chromium.org/developers/how-tos/build-instructions-windows

目前最新的代碼已經用vs2013編譯了。好快啊,我最開始接觸chromium的時候還是用的vs2008。這里可以用depot_tools里面的工具鏈ninja去編譯代碼,也可以自己安裝vs2013去編譯。

用vs2013去編譯代碼經常會編譯不過。因為chromium里面包含的第三方工程太多了,很多在windows下面有庫的依賴,字符編碼等問題。我個人的推薦做法是用ninja去編譯代碼,用vs2013去瀏覽、編輯和調試代碼,腳本如下:

如果是編譯成release版本,腳本如下:

 

祝你好運

沒什么好說,全憑人品。


免責聲明!

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



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