Linux Chromium源码编译
LInux Chromium源码编译
LInux下Chromium采用gn+ninja编译方式。老版的gyp方式已被抛弃,并且在默认情况下(is_clang 标志位为true),会使用clang编译器。
GN通过Chromium源码中的GN文件,在编译目录(如out/Default)下,生成build.ninja文件。ninja通过该文件,对Chromium进行编译。这里不关注gn和ninja,有兴趣的童鞋,可以参照下面的网址;
- GN参考网址
- Ninja参考网址
获取Chromium源码
- 获取源码请参照:https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
- 由于网络原因,请使用VPN或者各种方法,尝试获取源码。这里使用的Chromium版本为67。
设置编译环境
- 设置depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git# you depot_tools pathexport PATH=$PATH:/xxx/xxx/xxx/depot_tools# 解压命令 tar -zxvf xxxx.tar.gz
- Set up the build
cd ~/chromium/src
# 运行该命令,有些人的终端可能会退出(exit命令)
# 遇到此问题时,请注释调install-build-deps.sh中的exit命令
# 如果提示无法安装字体库,请按照提示,加入不安装字体库参数
. build/install-build-deps.sh
# 编译andorid版Chromium
. build/install-build-deps-android.sh
# 此步比较重要,请确认网络可以获取到所有内容(尝试VPN\代理\各种方法)
# 保证此步安装成功,切勿修改相关脚本或程序,跳出安装步骤,并耐心等待
gclient runhooks
编译
- 如果编译环境设置正确,此步基本不会遇到什么问题
- gen生成.ninja文件
# Linux
gn gen out/Default
gn gen out/Default --args='is_debug=false' (Releas版)
gn gen out/Default --args='target_cpu="x64" use_sysroot=false is_clang=false' (不使用clang编译)
# Android
gn gen out/Default --args='target_os="android" target_cpu="x86"'
gn gen out/Default --args='target_os="android" target_cpu="x64"'
gn gen out/Default --args='target_os="android" target_cpu="arm64"'
gn gen out/Default --args='target_os="android" target_cpu="arm"'
- ninja编译
#Linux
ninja -C out/Default (Chromium浏览器)
ninja -C out/Default content/shell:content_shell (Chromium content_shell)#Android
ninja -C out/Default chrome_public_apk (Chromium浏览器)
ninja -C out/Default content_shell_apk (Chromium content_shell)
ninja -C out/Default system_webview_apk (Android Webview)
ninja -C out/Default webview_instrumentation_test_apk (Android Webview test apk)
- 运行Chrome浏览器或安装APK
# Linux运行浏览器
cd src
out/Default/chrome
# Android 安装apk
cd src/out/Default/apks
adb install chrome_public_apk
- 额外:Chromium编译对配置有一定要求,特别时在link阶段,低配置(如内存4G及以下)的机器,容易卡住。
Linux Chromium源码编译相关推荐
- vc6可编译的 linux 源码,Linux 下源码编译FFMEG
1. 安装依赖关系 $ sudo apt-get update $ sudo apt-get -y install autoconf automake build-essential libass-d ...
- 【Python 笔记】Linux 下源码编译安装 python
本文记录在 Linux 上源码编译安装 python 的过程. 文章目录 1. 源码编译安装说明 2. 安装 python2.7 3. 安装 python3.6 1. 源码编译安装说明 安装过程比我想 ...
- 【linux内核-源码编译之centos7】
linux内核-源码编译之centos7 一. 为什么要编译内核 二.疑难杂症 三.演示环境 四.下载源码 4.1.两者源码区别 4.2.将获取到的源码放在/usr/src/kernels/ 下 五. ...
- windows和linux下源码编译7-Zip(7za)
windows和linux下源码编译7-Zip(7za) 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 windows和l ...
- 编译linux源码报错,记录一次Linux内核源码编译实验
记录一次Linux内核源码编译实验 文章目录 记录一次Linux内核源码编译实验 0. 实验环境 1. 选择.下载内核源码 2. 安装必要的依赖软件以及性能要求 3. 解压.配置和编译内核源码 3.1 ...
- Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录
Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...
- linux下源码编译升级ssh版本,ssh打补丁过程
linux下源码编译升级ssh版本过程 记录打补丁之ssh源码编译升级过程 安装前软件准备 升级步骤 结尾及一些坑 记录打补丁之ssh源码编译升级过程 应安全报告要求需要修复操作系统中的ssh协议,原 ...
- linux下源码编译lrzsz
linux下源码编译lrzsz 更新时间:2022-04-09(六) lrzsz github地址 lrzsz: free x/y/zmodem implementation 可找到下载链接 wget ...
- Linux 下源码编译安装 vim 8.1
前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...
最新文章
- poj——3177Redundant Paths
- CTFshow 命令执行 web120
- iphone屏蔽系统更新_iPhone 屏蔽系统更新教程,支持 iOS13 / iOS12 系统
- Mybatis和Spring集成 sessionFactory.openSession() 事务不生效问题
- 经常关注的、极具参考价值的网站收集(无限畅想版)
- php 星座运势_星座运势查询示例代码
- kali linux u盘自启,如何实现Kali linux系统下的U盘启动(小白指导)
- 为什么你的 JavaScript 代码如此冗长?!
- DirectoryInfo类
- nginx访问控制allow、deny(ngx_http_access_module)
- matlab 二进制写入文件,在Matlab中读取/写入二进制文件
- android+微信字体大小,关于微信安卓端网页字体适配的通知
- 复合函数高阶求导公式_复合函数求导公式有哪些
- 教你快速识别网络项目的骗术
- ch341a编程和ttl刷机区别_USB转TTL(CH341A)的注意事项及说明
- mysql的groupby_MYSQL GROUP BY用法详解
- 抖音专业运营方案及策略技巧
- ios开发——使用CALayer和Core Animation做动画效果
- 关于音响系统参数测试的主要参数之一: THD+N(总谐波失真加噪声)
- 如何在matlab中表示e,Matlab中表达e的操作方法介绍