unbuntu下载编译chromium

第一步:配置安装depot_tools

sudo apt install git

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=depot_tools path:$PATH:


第二步:下载源码

方法1:

时间长

fetch chromium


方法2:

只下载最新的代码,没有历史记录

fetch --nohooks --no-history chromium


注:如果在下载过程中发生了异常(比较常见的是断网,因为vpn),可以在/chromium目录下执行:

gclient sync --nohooks --no-history

有时可以继续同步,有时不行


方法3:

快速下载代码包(tarball

http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html 


方法4:

分支的下载请参考

https://www.chromium.org/developers/how-tos/get-the-code/working-with-release-branches


方法5:

# 获得所有发布tag的信息。

git fetch --tags

# 根据37.0.2062.103版本建立一个你自己的分支

git checkout -b your_release_branch 37.0.2062.103

// 同步所有相关工程代码

gclient sync --with_branch_heads --jobs 16


方法6:

 .gclient

[plain] view plain copy

 

1.      solutions = [  

2.        {  

3.          "managed": True,  

4.          "name": "src",  

5.          "url": "https://chromium.googlesource.com/chromium/[email protected]",  

6.          "custom_deps": {  

7.          "src/content/test/data/layout_tests/LayoutTests": None,  

8.          "src/chrome/tools/test/reference_build/chrome_win": None,  

9.          "src/chrome_frame/tools/test/reference_build/chrome_win":None,  

10.        "src/chrome/tools/test/reference_build/chrome_linux":None,  

11.        "src/chrome/tools/test/reference_build/chrome_mac": None,  

12.        "src/third_party/hunspell_dictionaries": None,  

13.        },  

14.        "deps_file": ".DEPS.git",  

15.        "safesync_url": "",  

16.      },  

17.    ]  

18.    target_os = ['android']  

    然后 gclient sync --with_branch_heads --jobs 16


第三步:编译

首先,安装依赖库 

$ cd src

$ ./build/install-build-deps.sh --no-chromeos-fonts

 后面的参数“–no-chromeos-fonts”的作用是跳过字体的安装,因为我发现总是安装失败。而且这个过程也要用到vpn,否则更新无法成功。

After a recent update, ttf-mscorefonts-installer prompted me to accept its licenseagreement.

 Page Down到底部,Tab ok,然后Enter 

然后:

gclient runhooks

runhooks是在同步完代码之后执行的。

根据DEPS的文件的描述,执行一些获取代码之后的工作,其中包括生成平台可编译的工程。


然后:

确保depot_tools工具在你的PATH变量里,并检查一下ninja工具的是否是depot_tools提供的,方法是用which命令,例如:

$which ninja 
$XX/ninja
可以看出我的环境是正确的。 
再然后,执行如下命令:

sudo apt install multimon


然后:安装gn

gn gen out/Release
ninja -C out/Release chrome


然后:生成ninja

$ cd ./chromium/src 
$gn gen out/default 
先用gn gen指定在out/目录里面生成ninja。


然后:编译

$ninja -C out/default

其中,chromium/src是我的源码目录。

需要说明的是这种方式编译出的是debug版的。 


编译完成后,你可以按如下方式启动:
$cd ./chromium/src/out/default 
$./chrome


如果你启动后遇到如下错误

Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
则需要设置一环境变量:
$ export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox

猜你喜欢

转载自blog.csdn.net/weixin_41926234/article/details/80692380