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 |