小米跟新到MIUI12以后,Google Service就不兼容挂了。很久没有升级Chrome了,还是自己来吧…其实编译Chrome没啥难的,两篇文章搞定的事情:
https://chromium.googlesource.com/chromium/src/+/main/docs/android_build_instructions.md#Logging-and-debugging
https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/quick-start.md
用一个docker image会好很多,这样模拟ubuntu环境;google的open source大部分都是ubuntu based…
docker run -v /chrome:/chrome -it ubuntu:latest bash
apt update && apt install git lsb-release sudo vim
cd /chrome
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH:/chrome/depot_tools"
mkdir chromium && cd chromium
fetch --nohooks --no-history android
cd src
bash ./build/install-build-deps-android.sh
gclient runhooks
gn out/arm64
autoninja -C out/arm64 chrome_public_apk
# 如果要详细build log,加上 -v
autoninja编译target速查表
target名称 | 说明 |
---|
chrome_modern_public_bundle | 生成android 5以上可用的aab | monochrome_public_bundle | 生成android 8以上可用的aab | trichrome_public_bundle | 生成android 10以上可用的aab | chrome_public_apk | 生成android 5以上可用的apk | system_webview_apk, monochrome_public_apk, trichrome_webview_apk | 生成webview | | |
# gn out/arm64 会用vi弹出编辑器,书写下面的内容
target_os = "android"
target_cpu = "arm64" # 还可以是 x86, x64, arm;每个平台都需要单独的gn配置
# 上面两行就够了,最后生成250+ MB apk,加了下面几行就变成200+ MB apk
# 本以为下面的debug disable后apk生成就会小很多,想太多… 不过编译过程确实快了不少
is_debug = false
is_java_debug = false
symbol_level = 0
enable_nacl = false
blink_symbol_level=0
TODO: 之后会补上如何优化编译,编译完的chromium有200+MB也太大了,我们知道Chrome的发布版只有50+MB。
|