Chrome交叉编译日志

一直以来想自行编译一下Chrome,最近重新开始玩开发板(和树莓派类似),装上了Debian 7.4(Wheezy),发现Chrome只有33.0版,(到目前2015.12.08为止,Chrome stable版本号为47),于是趁此机会折腾了一番。Google了一番,然后发现了这个
查看本机libc6版本,确定是2.13且upgrade无果,于是自行强行安装了新版本的libc6:

Debian wheezy安装新版libc6

  • kill桌面环境

  • 添加源

添加到

  • 更新软件源

  • 安装新版libc6

  • [重要]安装完成后记得把刚添加的源删掉

交叉编译Chromium

目标:

由于开发板是ARM架构,我们需要在x86平台下编译出Chromium的ARM版程序

我的环境:

  • 使用Parallels Desktop虚拟机运行的64位Ubuntu 14.04
  • 内存8GB
  • CPU 六线程i7-4770HQ虚拟处理器
  • 30GB的剩余空间(最后用掉了约25GB)

编译Chromium

一、建立工作目录

二、下载depot_tools工具包

执行结束之后会在当前目录下产生一个目录depot_tools,里面是许多之后会用到的小工具。
depot_tools

三、把depot_tools加入PATH下

四、下载最新的Chromium代码

代码总共大约8GB,校园网IPv6抓取速度几乎满速(10MB/s)
完成后将看到src目录
五、准备编译环境

六、开始编译
带sandbox的Release版:

不带sandbox的Release版:

Debug版:

经过漫长的等待(六线程全100%占用,超频至3.2Ghz,两小时左右)
所有编译出來的东西都放在out/Release或out/Debug下。

在ARM环境下运行

会发现一个错误”Running without the SUID sandbox!”,按照给出的链接解决即可
或者直接

运行后可以看到一个Warning:『google api keys are missing some functionality of chromium will be disabled』,作为一个码农,我选择了无视它
然后。。。。
发现无法登陆Google账户,Google了一下Warning发现『Since Chromium version 35, Debian does not provided API keys anymore. 』
为了能正常使(同)用(步),只好自己申请API keys

让Chromium正常工作

准备工作:

  • 一个Google账号,相信大家都有

步骤:

一、 加入Group(必须) chromium-dev@chromium.org
二、前往 https://cloud.google.com/console
三、Create Project(随意取个名字,比如MyChromiumProject)
四、前往API Manager页面,启用Chrome相关的API,参考:
APIs
五、前往Credentials页面,在OAuth consent screen处填写Product Name然后保存
六、在Credentials页面添加一个API key,选择Browser key,Referers留空即可
七、再添加一个OAuth 2.0 client ID,type选Other即可
八、到此,已经有了API key,client ID 和 client secret

再启动Chrome

即可正常登陆Google账号并同步了

有任何疑问可以发邮件联系我:yu574883289@gmail.com

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注