擺脫主機環境限制,隨心所欲編譯Android源碼

本文源代碼詳見 https://github.com/Tinker-S/docker-android-build

使用docker編譯aosp源碼

google官方推薦的安卓編譯源碼爲14.04,由於目前的工作環境爲macosx環境或者高版本的ubuntu環境,直接在本機編譯會有很多問題,不過藉助docker這個強大的工具可解決這個煩惱

安裝docker

google搜索安裝方法即可

docker更換國內鏡像源

爲了加速docker鏡像的拉取,可以設置國內鏡像源,例如設置成網易的鏡像源方法如下:

  • 創建 /etc/docker 目錄
sudo mkdir -p /etc/docker
  • 在 /etc/docker 目錄下創建 daemon.json 文件,寫入以下內容
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
  • 重啓docker服務
sudo systemctl daemon-reload
sudo systemctl restart docker

創建編譯鏡像

由於aosp源碼推薦在ubuntu 14.04版本上編譯,所以我們基於14.04來創建鏡像。這裏準備使用5.1.1版本的源碼,所以需要安裝jdk7。

構建鏡像的細節詳見 Dockerfile。

使用如下命令創建鏡像

docker build -t aosp-build:1.0.0 .

查看創建成功的鏡像 image

使用鏡像編譯源碼

  1. 下載aosp源碼 推薦去清華鏡像站下載打包好的源碼即可,也可以使用repo下載指定版本,具體詳見網站文檔
  2. 假設aosp源碼下載路徑爲 /home/user/aosp,使用aosp-build鏡像創建容器,並掛載aosp源碼路徑
docker run -itd --name aosp-build -v /home/user/aosp:/home/aosp aosp-build:1.0.0
docker exec -it aosp-build /bin/bash
  1. 進入 /home/rom 目錄,直接編譯源碼即可
. build/envsetup.sh
lunch
make -j8
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章