作为一个喜欢折腾的程序员,在屡次折腾下终于在Linux系统下编译出“ChromePublic.apk”,并成功安装到真机上,以下是一个简单的记录。
在linux下克隆安装该软件:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH:/path/to/depot_tools"
以上命令是环境只在该终端下生效,关于如何全局生效,自行百度。
为chromium创立一个目录并更改为它(可以随便调用它并将其放在任何您喜欢的位置,只需完整路径没有空格):
mkdir ~ / chromium && cd~ / chromiumfetch - nohooks android
gclient文件和一个名为目录src在工作目录。切换到src目录:
cd src
通过附加target_os = ['android']到.gclient文件(在上面的目录中src)增加Android支持
echo “target_os = ['android']” >> ../.gclient
而后运行gclient sync以获取新的Android依赖项:
gclient sync
build/install-build-deps-android.sh
运行 runhooks
gclient runhooks
Chromium使用Ninja作为其主要构建工具以及一个名为GN的工具来生成.ninja文件。您可以使用不同的配置创立任意数量的构建目录。要创立构建Chrome for Android的构建目录,请运行:
gn gen --args='target_os="android"' out/Default
autoninja -C out/Default chrome_public_apk
编译进行中,等待编译完成,在“/chromium/src/out/Default/apks”目录下既可以看到成品apk,就可以安装到真机上。整个编译过程比较慢,需要多多关注编译过程中编译失败爆出的log。
1.编译过程中提醒缺少python相关库,需要先安装该库。
2.编译过程中可能会提醒缺少少量c或者者c++相关的库的信息,同样也需要去查找安装。在我编译过程中出现过去少“clang”相关库。后续安装
sudo apt-get install clang-tools-6.0
该库我也不知道干什么的,就傻瓜安装吧,“sudo apt-get install clang”按上“tab”键可以查看具备哪些库。
整个过程提醒过几个库不存在,奈何在编译过程中没做好记录,不过不要怕,缺什么装什么就行了。
1.板块编译
$ ninja -C out/Default/ net$ ninja -C out/Default/ url$ ninja -C out/Default/ zlib
这将在chromium/src/out/Default下产生这些板块的BUILD.gn文件中定义得targets,比方net和url的共享库,zlib得静态库等。
2.具体其余可以参照其官网