一、准备工作
- 1)准备depot_tools
1.1)Clone depot_tools
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
1.2)将depot_tools路径加到PATH中,如在~/.bashrc中加入
PATH=$PATH:/path/to/depot_tools
二、代码的获取和编译
- 2) 获取代码
2.1)建立目录
$ mkdir ~/chromium && cd $_
2.2)获取.gclient文件
fetch --nohooks android
这一步将获取.gclient文件,这个文件将用于后面的拉代码
2.3)修改.gclient文件
最后一行添加:
target_os= ['android']
还可设置不下载无用代码,减少代码体积:
"custom_deps"字段中添加:
"custom_deps": {
"src/content/test/data/layout_tests/LayoutTests": None,
"src/chrome/tools/test/reference_build/chrome_win": None,
"src/chrome_frame/tools/test/reference_build/chrome_win":None,
"src/chrome/tools/test/reference_build/chrome_linux":None,
"src/chrome/tools/test/reference_build/chrome_mac": None,
"src/third_party/hunspell_dictionaries": None,
},
2.4)生成chromium.gyp_env文件
~/chromium$ echo "{ 'GYP_DEFINES': 'OS=android', }"> chromium.gyp_env
chromium.gyp_env主要是用于设置chromium在哪个平台上编译
2.5)获取文件
gclient sync --nohooks
这一步将从服务器上拉代码
- 3) 编译
3.1)生成编译文件
. src/build/android/envsetup.sh
gclient runhooks
gclient runhooks是跟据一定的规则来执行脚本,主要有build/gyp_chromium,这个脚本将生成编译文件用于编译
3.2)编译
ninja -C out/Debug content_shell_apk