第一步:配置安装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/src.git@41.0.2272.76",

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

unbuntu下载编译chromium相关推荐

  1. windows下载编译chromium源码

    前言 chromium 源码的下载编译,真的就是如各位前辈说的一样,参考再完整的教程,还是会遇到各种各样的问题.因为每个人的开发环境是不一样的,网络环境也不一样. 一路参考各路大神的教程开始踩坑填坑的 ...

  2. Window使用代理下载编译Chromium(Visual Stadio 2019版)

    下载源码 参考Checking out and Building Chromium for Windows (googlesource.com)官方流程. 安装visual studio与相应开发工具 ...

  3. 在Windows10下下载编译历史版本chromium

    Windows10的版本是10.0.18363.1082, chromium是以2016年的53.0.2785.134版本源代码为例. 一.准备 1.安装VS2015 安装时记得编程语言勾选上Visu ...

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

    阅读目录 编译chromium 15个编译流程: 参考: 注意: 回到顶部 编译chromium 系统为windows, 国内在windows上编译chromium的资料比较少, 我这篇文章只能作为参 ...

  5. fuchsia学习_下载编译遇到问题和demo运行

    下载编译,官网 https://fuchsia.dev $ curl -s "https://fuchsia.googlesource.com/fuchsia/+/master/script ...

  6. Android编译chromium

    一.申请云服务器 在Windows或者Mac下编译Android客户端是不支持的,官方推荐的是使用Ubuntu来进行编译,因此我们的编译采用的是Ubuntu服务器,事实证明镜像必须是ubuntu,如果 ...

  7. ubuntu20.04修改编译chromium源码实战

    首先,利用vmware搭建ubuntu20.04的虚拟机 由于chromium的源码比较大,在git的时候需要分配数据交换的大小,如果小了就下不下来.所以最好给这台虚拟机分配12G内存以上.存储100 ...

  8. Qt嵌入浏览器开发——下载编译

    首先明确一下动机:为什么要用Qt自己实现一个浏览器? 简而言之,就是希望实现一个介于B/S和C/S之间的混合架构,以适应一些前端展示信息需要频繁更新的生产系统.这种混合架构的优势在于: 相较于C/S架 ...

  9. 编译Chromium for Android

    编译Mingw-w64失利,打算编译一下Chromium玩一下 首先需要在Linux平台上编译 前置工具 git python2.7 **良好的网络条件** 一.安装depot_tools git c ...

  10. 为curl 、git、go语言、wget、repo设置代理,解决ubuntu 18.04编译chromium os问题

    为CURL设置proxy 设置代理的方式搜索了一下挺多的,我测试了这两种方式,这两种方式在ubuntu 18.04上可以运行. 有两种方法,第一通过声明环境变量: export http_proxy= ...

最新文章

  1. NVIDIA TensorRT:可编程推理加速器
  2. Invoker 2019CCPC秦皇岛站I题 简单DP
  3. 在CentOS 7中安装与配置Tomcat-8方法
  4. 算法----选择排序(select sort)
  5. 股票实时行情数据大全
  6. 【Gans入门】Pytorch实现Gans代码详解【70+代码】
  7. 【数据结构与算法】之深入解析“二叉树展开为链表”的求解思路与算法示例
  8. 成功解决tensorflow.keras: AttributeError: ‘str‘ object has no attribute ‘decode‘
  9. 加密扩展库 php,如何利Mcrypt扩展库进行加密和解密_php
  10. linux apache mod_jk,Linux上安装Apache,安装mod_jk,相关配置
  11. 贷后模块之催收行为综合评分卡
  12. System.load 和 System.loadLibrary详解
  13. particle filtering---粒子滤波(讲的很通俗易懂)
  14. MAC微软远程桌面RDC不能全屏的的解决方法
  15. 图层重命名快捷键_实际操作,在PS中如何批量给图层重命名并导出
  16. PSpice 使用中的若干问题
  17. SpringBoot父子工程集成Jenkins部署项目问题合集
  18. 荣耀v40和华为Nova8pro哪个好 华为Nova8pro和荣耀v40的区别
  19. cocosbuilder创建工程
  20. web前段网图分类规划

热门文章

  1. c++_2: 类的定义
  2. 编程算法 - 最好牛线(Best Cow Line) 代码(C)
  3. Selenium WebDriver高级应用
  4. 基于alphalens对qlib的alpha158做单因子分析
  5. 什么是带内管理 带外管理?
  6. 让Win7做DHCP服务器
  7. java 拦截器 排除_java – 如何将拦截器添加到除一个或两个以外的所有API请求?...
  8. 最伟大IT人物10强出炉 乔布斯第一盖茨第三
  9. should be described in NUMA config 和 CPU feature cmt not found
  10. 技术总监面试有什么技巧