使用docker編譯aosp源碼
google官方推薦的安卓編譯源碼為14.04,由于目前的工作環(huán)境為macosx環(huán)境或者高版本的ubuntu環(huán)境,直接在本機(jī)編譯會有很多問題,不過借助docker這個強(qiáng)大的工具可解決這個煩惱
google搜索安裝方法即可
為了加速docker鏡像的拉取,可以設(shè)置國內(nèi)鏡像源,例如設(shè)置成網(wǎng)易的鏡像源方法如下:
創(chuàng)建 /etc/docker 目錄
sudo mkdir -p /etc/docker
在 /etc/docker 目錄下創(chuàng)建 daemon.json 文件,寫入以下內(nèi)容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
重啟docker服務(wù)
sudo systemctl daemon-reload
sudo systemctl restart docker
創(chuàng)建編譯鏡像
由于aosp源碼推薦在ubuntu 14.04版本上編譯,所以我們基于14.04來創(chuàng)建鏡像。這里準(zhǔn)備使用5.1.1版本的源碼,所以需要安裝jdk7。
構(gòu)建鏡像的細(xì)節(jié)詳見 Dockerfile。
使用如下命令創(chuàng)建鏡像
docker build -t aosp-build:1.0.0 .
查看創(chuàng)建成功的鏡像
下載aosp源碼 推薦去清華鏡像站下載打包好的源碼即可,也可以使用repo下載指定版本,具體詳見網(wǎng)站文檔。
假設(shè)aosp源碼下載路徑為 /home/user/aosp,使用aosp-build鏡像創(chuàng)建容器,并掛載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
進(jìn)入 /home/rom 目錄,直接編譯源碼即可
. build/envsetup.sh
lunch
make -j8