小米跟新到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。



