Chromium源碼拉取&編譯

作爲一個喜歡折騰的程序員,在多次折騰下終於在Linux系統下編譯出“ChromePublic.apk”,併成功安裝到真機上,以下是一個簡單的記錄。

系統要求

  1. 運行Linux且至少具有8GB RAM的64位Intel計算機。強烈推薦超過16GB。 [尤爲重要,有可能就是這個問題導致編譯失敗,本人用的是Ubuntu -16.04,算是比較穩定的系統]

  2. 至少100GB的可用磁盤空間。

  3. 你必須已經安裝了Git和Python。

  4. 科學上網

安裝 depot_tools

在linux下克隆安裝該軟件:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

配置環境

export PATH="$PATH:/path/to/depot_tools"

以上命令是環境只在該終端下生效,關於如何全局生效,自行百度。

獲取代碼

爲chromium創建一個目錄並更改爲它(可以隨意調用它並將其放在任何您喜歡的位置,只要完整路徑沒有空格):

mkdir ~ / chromium && cd~ / chromium
fetch - 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

編譯Chormium

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.具體其他可以參照其官網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章