赞
踩
- git config --global user.name "zaooo"
- git config --global user.email "12345678@qq.com"
克隆 depot_tools存储库:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
设置后可以使用gclient命令
- export PATH="$PATH:/绝对路径/depot_tools"
- source ~/.bashrc
fetch --nohooks android
如果只拉取最新
fetch --nohooks --no-history android
如果中途断开,执行命令继续
gclient sync --nohooks
查看分支
git fetch --tags
切换版本分支同步(上面没有使用--no-history命令)
- 方式一
- git checkout -b stable_77 tags/77.0.3865.90
- gclient sync --with_branch_heads --nohooks --job 16
- 方式二
- gclient sync --with_branch_heads -r 52.0.2743.100
- gclient sync --with_branch_heads -r 83.0.4103.120
- sudo apt-get install openjdk-8-jdk
- sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
- sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
- sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
- sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
- sudo apt-get install git-core gnupg flex bison gperf build-essential
- //sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
- //sudo apt-get install libc6-dev-i386
- sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
- //sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
- sudo apt-get install lib32z-dev ccache
- sudo apt-get install lib32ncurses5
- sudo apt-get install libncurses5
-
- build/install-build-deps-android.sh
-
- //如果切换版本需要重新执行以下命令安装依赖
- gclient runhooks
安装无法定位 sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
cpu对应
arm64-v8a arm64
armeabi-v7a arm
x86 x86
x86_64 x64
这里使用arm64 cpu类型配置,若编译其他,只需要改cpu类型
gn gen out/Release_arm64 --args='target_os="android" target_cpu="arm64" is_debug=false is_official_build=true enable_nacl=false is_chrome_branded=false use_official_google_api_keys=false enable_resource_whitelist_generation=true ffmpeg_branding="Chrome" proprietary_codecs=true enable_remoting=true
如果上面配置命令执行没反应,可以先创建项目输出路径,再配置
gn gen out/Release_arm64
创建完成输出:
Done. Made 13575 targets from 2257 files in 4392ms
此时可以手动修改配置文件:/src/out/Release_arm64/args.gn
- target_os = "android"
- target_cpu = "arm64"
- is_debug = false
- is_official_build = true
- enable_nacl = false
- is_chrome_branded = false
- use_official_google_api_keys = false
- enable_resource_whitelist_generation = true
- ffmpeg_branding = "Chrome"
- proprietary_codecs = true
- enable_remoting = true
ninja -C out/Release_arm64/ system_webview_apk -j12
Release_arm64是输出路径,如果上面配置命令执行完成后,编译时不能修改,否则报错
官方android版本编译命令
- # For L+ (21+) devices (if on N-P, see "Important Notes for N-P")
- autoninja -C out/Default system_webview_apk
-
- # For N-P (24-28) devices (not including TV/car devices)
- autoninja -C out/Default monochrome_public_apk
-
- # For Q+ (29+) devices
- autoninja -C out/Default trichrome_webview_apk
编译过程经常会遇到一些报错,仔细看log输出还是很容易解决的
问题整理
git网络错误
git config --global http.proxy 'socks5://127.0.0.1:1089'
git config --global https.proxy 'socks5://127.0.0.1:1089'
跳过chromeos fonts检查
./build/install-build-deps.sh --no-chromeos-fonts
chromium编译google_play_services报错文件
google_play_service错误解决:
下载对应版本文件
如文件名:google_play_services_8487000.zip
查看google_play_service版本:/src/build/android/play_services/config.json文件
{
"version_number": 8487000,
"version_xml_path": "res/values/version.xml"
}
Error: 78> //同步错误
78> ____ src/v8 at c5efc5092fabb0a45351c7b0031b14ed07d3c696
78> You have unstaged changes.
78> Please commit, stash, or reset.
解决
删除删除 depot_tools并克隆新版本,而不更改其位置。
rm -rf depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
清理 src通过递归访问每个项目, Chromium项目目录中的所有项目。 还要 检查 master分支 清洁后 :
export HM=$PWD
- find `pwd` -type d -name ".git" | sed s/.git$//g | \
- while read r; do cd $r; git reset --hard HEAD; git checkout master; done
更新所有分支并 gclient sync再次
git rebase-update && gclient sync
如果一切顺利,则可以重建Chromium代码。
参考:
(官方Android webview 编译说明)https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/aosp-system-integration.md
(官方)https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md
(官方分支)https://chromium.googlesource.com/chromium/src.git
(官方库,编译缺少的文件可以在此找到) https://maven.google.com/web/index.html
https://blog.csdn.net/a957666743/article/details/80061159
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。