背景
一直都是编译PC端的chromium,突然想尝试交叉编译出Android端arm版本的chromium。
操作步骤
#1.安装部署工具
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
vim .bashrc
export PATH="/path/to/depot_tools:$PATH"
#2.创建源码目录
mkdir ~/chromium && cd ~/chromium
#3.检出代码和依赖
fetch --nohooks --no-history chromium
#4.切换至src目录
cd src
#5.安装依赖程序
./build/install-build-deps.sh
#6.下载额外的二进制文件
gclient runhooks
#7.调整配置用于下载Android以来代码
echo "target_os = [ 'linux', 'android' ]" >> ../.gclient
#8.同步代码
gclient sync
#9.安装Android依赖
build/install-build-deps.sh --android
#10.运行钩子
gclient runhooks
#11.安装交叉编译所需依赖
sudo ./build/install-build-deps.sh --arm
#12.生成编译配置
#gn gen out/arm --args='is_official_build=true is_debug=false is_component_build=false symbol_level=0 enable_nacl=false blink_symbol_level=0 use_jumbo_build=true target_cpu="arm" target_os="android" chrome_pgo_phase=0'
gn gen out/arm --args='is_official_build=true is_debug=false is_component_build=false symbol_level=0 blink_symbol_level=0 target_cpu="arm" target_os="android"'
#13.开始编译
autoninja -C out/arm chrome_public_apk
结果
经过漫长的等待终于编译完成
~/Documents/chromium/src$ autoninja -C out/arm chrome_public_apk
ninja: Entering directory `out/arm'
[73563/73563] STAMP obj/chrome/android/chrome_public_apk.stamp
切换到 src/out/arm/apks目录下,则可以看到编译完成的ChromePublic.apk安装包。至此arm版本的chromium编译完成