错误示例
Error: Command 'vpython.bat src/third_party/depot_tools/download_from_google_storage.py --no_resume --platform=win32 --no_auth --bucket chromium-gn -s src/buildtools/win/gn.exe.sha1' returned non-zero exit status 1 in D:\code\chromium_git\chromium
Hook 'vpython.bat src/third_party/depot_tools/download_from_google_storage.py --no_resume --platform=win32 --no_auth --bucket chromium-gn -s src/buildtools/win/gn.exe.sha1' took 33.03 secs
Traceback (most recent call last):
File "..\automate\automate-git.py", line 1385, in <module>
run("gclient runhooks --jobs 16", chromium_dir, depot_tools_dir)
File "..\automate\automate-git.py", line 70, in run
args, cwd=working_dir, env=env, shell=(sys.platform == 'win32'))
File "d:\code\depot_tools\bootstrap-3_8_0_chromium_8_bin\python\bin\lib\subprocess.py", line 190, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gclient', 'runhooks', '--jobs', '16']' returned non-zero exit status 2
解决方案
从官网wiki文档可知
构建工具不支持旧版本的CEF,如果选择构建旧分支,则需要自己解决任何构建错误
构建旧版本CEF,可以使用与当前分支相同的工具构建
1.手动下载depot_tools
2.将depot_tools同步到分支时存在的修订版
3.设置DEPOT_TOOLS_UPDATE=0环境变量,以防止其自动更新
4.获取对应分支的CEF
5.获取对应分支的Chromium
6.由于此处我用的VS2015,构建的时候需要设置GN_DEFINES=is_win_fastlink=true改进编译和链接时间
手动切换depot_tools
可以根据CEF版本找到depot_tools版本
利用git工具切换depot_tools分支
或者Cmd执行
call git checkout ba28e460fb0899ffe80c1d1364a3e02d4a2e8855
DEPOT_TOOLS_UPDATE=0
切换建议备份之前的update_depot_tools.bat文件