天天看點

chromium for android 源碼編譯

官方文檔

https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md

準備

Ubuntu (其他linux也可以,但是官方推薦ubuntu,Windows和mac是不行的)

梯子

下載下傳depot_tools

depot_tools是Google提供的為chromium進行代碼管理的一套工具,包括gclient,gn,gyp等一系列腳本工具等,在以後和源碼打交道時會一直使用到它。

首先是下載下傳。

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

下載下傳後配置環境變量,在.bashrc或者.bash_profile或.zshrc等。

export PATH = [your_depot_tools dir]/bin:$PATH

下載下傳chromium源碼

首先是建立一個目錄存放源碼,然後進入這個源碼。

mkdir chromium && cd chromium

fetch --nohooks android

如果您不想要完整的回購曆史記錄,可以通過将–no-history标志添加到來節省大量時間fetch。

fetch --no-history android

這一過程可能需要較長時間.如果中途出了什麼問題,一定要進行以下步驟:

gclient sync

如果到這步沒有問題,那麼恭喜你,源代碼下載下傳成功了。

./build/install-build-deps.sh

以及安裝第三方庫(src目錄下)

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

如果還不行,請檢查網絡代理後再sync。~

中途可能會出現某個py檔案執行錯誤或者exit ,請不要擔心,重新确認可以翻牆後再sync一次。

編譯源代碼

官方文檔解釋,已經放棄GYP了,現在推薦使用GN進行配置和build。

gn args out/Default

這裡的out/Default目錄就是以後編譯的apk的輸出的一層,apk會存放在apks中。

接着穩妥起見,可以再來一次sync.

gclient sync

接下來準備編譯環境:

. build/android/envsetup.sh

官方對編譯提供了3種編譯方案,分别是完整的浏覽器,content shell(提供了浏覽器基本功能的一個殼),webview。

編譯完整浏覽器:

ninja -C out/Default chrome_public_apk

可以在out/Default/apks中看到相應的apk.

編譯contentshell:

ninja -C out/Release content_shell_apk

編譯webview:

ninja -C out/Release android_webview_apk

這幾步都可以得到對應的apk。

可以将手機連接配接到電腦,然後可以push過去安裝,或者直接install,當然也可以用官方文檔提供的方法直接使用depot_tool進行安裝。

好了,到這裡就完成了chromium的編譯,可以修改代碼進行送出了。

繼續閱讀