ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

how_to_build_chromium_project_for_mac

2019-04-22 10:49:53  阅读:349  来源: 互联网

标签:编译 tools project how mac home root depot chromium


前言

用3天的业余时间,编译了chromium的mac版.

试验

官方编译指南

https://chromium.googlesource.com/chromium/src/+/master/docs/mac_build_instructions.md

编译的环境

官方说明要求:
64-bit Mac running 10.12+
xcode8+

试验机是一台2013年出厂的imac一体机(8GB memory),原来已经装过低版本的xcode.
升级到最新MacOSX10.13, 将软件(包括xcode)都更新到最新. 升级macos用了一天的业余时间,更新用的流量还蛮大的.

查看macos版本

ls-imac:~ administrator$ ls `xcode-select -p`/Platforms/MacOSX.platform/Developer/SDKs
MacOSX.sdk      MacOSX10.13.sdk

下载环境

需要连外网,自备小梯子.

启用root用户

macos默认是禁止root用户的,连mkdir命令都不能运行.
启用root用户,reboot
以root用户登陆

下载depot_tools

打开控制台

mkdir /home/dev
cd /home/dev
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

depot_tools下载后完路径:
/home/dev/depot_tools

将depot_tools的全路径加入环境变量

cp /etc/paths /etc/paths.bk
vi /etc/paths
# add below line on the last line, then wq
/home/dev/depot_tools

使用带新环境变量的控制台

关闭此控制台,开新的控制台
echo $PATH
可以看到新加入的PATH生效

下载代码

cd /home/dev
mkdir chromium && cd chromium
git config --global core.precomposeUnicode true
fetch chromium // first time

现在开始下载代码了.因为下载时间很长,有可能遇到网络问题,不能下载成功。运行如下命令重新同步代码。

gclient sync // second time

这次试验,第一次下载,网络出过问题,第二天重新同步了一次代码,代码同步成功了。

编译工程

cd src
gn gen out/Default

ninja -C out/Default chrome

编译工程很顺利,直接编译成功. 一觉醒来,已经编译好了。

运行工程

out/Default/Chromium.app/Contents/MacOS/Chromium

可以看到chromium在imac中已经运行起来了。

备注

设置了锁屏,用root用户登陆后,长时间不动键盘。锁屏时,解锁的用户居然是administrator. 而不是root用户。

标签:编译,tools,project,how,mac,home,root,depot,chromium
来源: https://blog.csdn.net/LostSpeed/article/details/80331821

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有