作爲一個喜歡折騰的程序員,在多次折騰下終於在Linux系統下編譯出“ChromePublic.apk”,併成功安裝到真機上,以下是一個簡單的記錄。
系統要求
運行Linux且至少具有8GB RAM的64位Intel計算機。強烈推薦超過16GB。 [尤爲重要,有可能就是這個問題導致編譯失敗,本人用的是Ubuntu -16.04,算是比較穩定的系統]
至少100GB的可用磁盤空間。
你必須已經安裝了Git和Python。
科學上網
安裝 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.具體其他可以參照其官網