日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

windows下编译chromium浏览器的15个流程整理

發(fā)布時(shí)間:2024/2/28 windows 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows下编译chromium浏览器的15个流程整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

閱讀目錄

  •   編譯chromium
  •   15個(gè)編譯流程:
  •   參考:
  •   注意:
回到頂部

  編譯chromium

  系統(tǒng)為windows, 國(guó)內(nèi)在windows上編譯chromium的資料比較少, 我這篇文章只能作為參考, 記錄我遇到的一些問題,因?yàn)閏hromium團(tuán)隊(duì)也會(huì)修改了代碼,或者編譯流程;

  如果你用linux或者mac,就別看這篇文章, 國(guó)外的編譯文檔都是linux和mac, 因?yàn)椴顒e還是比較多的;

回到頂部

  15個(gè)編譯流程:

    1:chrome源碼;?https://chromium.googlesource.com/chromium/chromium/

    2:系統(tǒng)要求:win7以后的版本, 處理器要求x86或x64;

    3:window下, 起碼要8G的空余內(nèi)存, 硬盤最好是固態(tài)的, chromium整個(gè)項(xiàng)目需要個(gè)10G的硬盤空間;

    4:vs2015第二版或者更新的版本, 安裝的時(shí)候要選擇自定義安裝(選擇Visual C++下的3個(gè)選項(xiàng),MFC);

        

    以及window10的SDK, 反正看到SDK就選上吧 , 否則還要重新安裝VC2015:

?      

    5:下載depot_tools:https://src.chromium.org/svn/trunk/tools/depot_tools.zip;

    6:下載以后解壓, 把depot_tools設(shè)置為環(huán)境變量, ?和環(huán)境變量DEPOT_TOOLS_WIN_TOOLCHAIN ?= 0;

    7:創(chuàng)建一個(gè)chrome_build目錄, 把chrome的源碼放在這兒(用git下載很慢很慢);如果是mac的系統(tǒng),直接參考官方文章:?http://www.chromium.org/Home

運(yùn)行下面代碼

mkdir chromium //創(chuàng)建目錄 cd chromium fetch --no-history chromium //同步代碼

    8:執(zhí)行gclient sync, 沒問題的話, 會(huì)自動(dòng)下載python和git,此時(shí)要注意, 因?yàn)橛蠫W, 我們要讓git的協(xié)議也走代理 ,

    讓git走代理的前提是有一個(gè)代理服務(wù)器或者socks代理,我這邊用的是socks5的代理,代理端口為本地的1080:?

運(yùn)行下面代碼

git config --global https.proxy socks5://localhost:1080 git config --global core.proxy socks5://localhost:1080 git config --global http.proxy socks5://localhost:1080 git config --global http.sslVerify false

?    如果要取消git的代理我們執(zhí)行下列命令:

運(yùn)行下面代碼

git config --system (或 --global 或 --local) --unset http.proxy git config --system (或 --global 或 --local) --unset httpx.proxy git config --system (或 --global 或 --local) --unset core.proxy

    9:以上那一步是給git設(shè)置代理, 代理為本地的sock5, 但是還沒給python設(shè)置代理, 如果不給python設(shè)置代理, 將會(huì)導(dǎo)致python下載文件失敗, 我們通過修改depot_tools源碼的方式讓python走代理

    修改幾個(gè)文件, 這個(gè)路徑是相對(duì)與depot_tools的目錄, 目前只要改3個(gè)python腳本文件,以后就不知道了, 要根據(jù)cmd給出的錯(cuò)誤源,自己改去:

depot_tools\gsutil.py

depot_tools\external_bin\gsutil\gsutil_4.15\gsutil\third_party\httplib2\python2\httplib2\__init__.py

depot_tools\external_bin\gsutil\gsutil_4.13\gsutil\third_party\httplib2\python2\httplib2\__init__.py

    在相關(guān)的文件import之后,主程序代碼后面添加:?

運(yùn)行下面代碼

import win_inet_pton import socks import socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 1080) socket.socket = socks.socksocket

    因?yàn)槲冶镜赜胹hadowsocks,所以把代理設(shè)置為本地的1080端口

    下載過程如果卡死,可以通過任務(wù)管理器判斷后臺(tái)有沒有在下載, 如果真的卡死, 就ctrl+C, 強(qiáng)制取消, 然后重新執(zhí)行gclient sync, 重新同步;

            

    10:在src目錄執(zhí)行, ?python會(huì)鏈接到https://storage.googleapis.com/下載第三方依賴模塊:

運(yùn)行下面代碼

gclient runhooks

    12: 生成BUILD.gn文件:

運(yùn)行下面代碼

gn gen out\Default

    13:到目前為止,代碼算是下載完畢, 然后執(zhí)行:

運(yùn)行下面代碼

ninja -C out/Default chrome

     如果機(jī)器不太行的話,我們可以修改編譯參數(shù):?ninja -j??配置同步編譯任務(wù)的數(shù)量 , 默認(rèn)是6, 如果機(jī)器比較卡就要改, 否者編譯的過程會(huì)出錯(cuò);

     ? ?

    14:2萬多的文件, 讓他慢慢編譯:

      

    15:幾個(gè)小時(shí)的編譯以后, 成果終于出來了:

    ? 

回到頂部

  參考:

    python走socks5代理的參考:http://www.cnblogs.com/diligenceday/p/5719978.html?

    執(zhí)行g(shù)client時(shí)候無法下載遠(yuǎn)程rar包的解決方法: ?http://longyw.iteye.com/blog/2058949

    這個(gè)哥們成功編譯了chromium :?http://wendal.net/2015/02/04.html

    how to use git through a proxy: ?http://cms-sw.github.io/tutorial-proxy.html, 老版本的git需要手動(dòng)把socks5代理轉(zhuǎn)化為git代理, 新版本的不用, 所以只要有新版本的git就好了;

    chromium源碼 download_from_google_storage 無法下載文件 :?http://www.cnblogs.com/ayanmw/p/4500825.html

    給python安裝 pypi ,讓python走代理?:?https://pypi.python.org/pypi/setuptools#windows-simplified

     官方文檔 :http://www.chromium.org/developers/how-tos/

?    只能說chromium的源碼實(shí)在太坑爹了, 即使有fq了,依然是各種悲劇, 哎:http://blog.csdn.net/qhh_qhh/article/details/49078425

回到頂部

  注意:

    一定要給git和python設(shè)置代理, 如果使用更改host的方式實(shí)現(xiàn)FQ, 會(huì)出現(xiàn)驗(yàn)證的問題,  導(dǎo)致python和git同步文件失敗的情況

    不要使用別人下載好的項(xiàng)目, ?因?yàn)閏hromium這個(gè)項(xiàng)目非常大, 編譯會(huì)涉及到操作系統(tǒng), 環(huán)境, 編譯工具, chromium的版本, 以及FQ, 文件下載失敗, 驗(yàn)證....各種問題, 自己能FQ下就去下

    建議大家別看網(wǎng)絡(luò)上的chrome編譯教程, 因?yàn)閏hrome的代碼一直在更新, 現(xiàn)在也有了新的編譯方式,?別人能夠編譯的, 你肯定不能編譯?最好的的方法是參考官方文檔, 必須看官方:

      https://www.chromium.org/developers/

      https://www.chromium.org/developers/how-tos/get-the-code

總結(jié)

以上是生活随笔為你收集整理的windows下编译chromium浏览器的15个流程整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。