Chromium Android平台與編譯

因為項目需要,開始做Chromium的一些基礎開發

環境準備

Ubuntu 14.04 LTS,64位,8Gb Ram+,100Gb+磁碟空間梯子,雖然有國內鏡像,但是國內鏡像的下載工具中還是有很多鏈接對應的是Google的

下載

dept_tools

這是chromium的應用下載工具

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

需要將他加到環境變數中

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

也可以使用codeaqurora上面的倉庫替代

https://shanghai.source.codeaurora.org/quic/lc/chromium/tools/depot_tools

對應的分支為:chromium.org/master

源碼

$ fetch --nohooks android//這裡實際是clone chromium.googlesource.com/chromium/src 下的源碼

fetch是depot_tools中的命令,可以使用--no-history 來加快下載速度,不過梯子上的速度太慢,所以可以使用鏡像下載,然後再

git remote add origin https://chromium.googlesource.com/chromium/src

將牆外的Google加入遠程倉庫來保持同步。 若是在公司內使用,可以再同步一份源碼在公司倉庫,這樣建立二級鏡像

同步源碼

首先保證同步依賴組件的時候使用的是android平台的內容

$ echo "target_os = [ android ]" >> ../.gclient//就是.gclient中加入android的描述符$ gclient sync//這個工具類似Android源碼的repo sync,沒有進度顯示,斷網了就只能從頭開始

這裡和後面所有涉及到下載的部分都有一個小技巧,遇到的所有以來的庫可以暫停之後,看他調用的是哪個腳本,把提示的庫通過迅雷或者鏡像替換下載下來

https://shanghai.source.codeaurora.org/quic/lc/chromium這裡有著幾乎所有依賴的源碼

選擇版本

這裡的步驟和Google的操作方式不同,需要在下載依賴和庫的時候先執行 通過在src下選擇git tag 選擇最近的穩定版本進行

穩定版本地址:http://www.chromium.org/developers/calendar

寫這篇文章的時候,穩定版本是:56.0.2924.87

安裝編譯依賴和hook依賴

$ build/install-build-deps-android.sh

然後等待幾天

$ gclient runhooks

再等待幾天,然後開始正式的表一

編譯

這裡使用的是Ninja編譯方式

$ gn gen --args=target_os="android" out/Default//這裡的out/Default 路徑可以根據需要進行替換,比如說out/stable之類的

開始正式編譯

$ ninja -C out/Default chrome_public_apk

然後經過短暫的等待(主要是C廠的伺服器給力,64G內存和雙CPU+全固態磁碟)

參考資料

官方文檔:[Checking out and building Chromium for Android](https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md)國內鏡像:[Code Aurora git repositories](https://shanghai.source.codeaurora.org/quic/lc/chromium/)

推薦閱讀:

TAG:Android | Android开发 | ChromiumforAndroid |