Linux Chromium源码编译

LInux Chromium源码编译

LInux下Chromium采用gn+ninja编译方式。老版的gyp方式已被抛弃,并且在默认情况下(is_clang 标志位为true),会使用clang编译器。
GN通过Chromium源码中的GN文件,在编译目录(如out/Default)下,生成build.ninja文件。ninja通过该文件,对Chromium进行编译。这里不关注gn和ninja,有兴趣的童鞋,可以参照下面的网址;

获取Chromium源码
设置编译环境
  • 设置depot_tools
 git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
 # you depot_tools path
 export 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及以下)的机器,容易卡住。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值