使用docker搭建android源碼編譯環境


說明

 由於工作原因要對android源碼進行編譯,用於修改底層驅動,對系統進行定制。但是編譯過程中要使用特定ubuntu版本和gcc版本,所以會比較麻煩。當時第一反映是安裝VMware虛擬機,裝一個指定版本然后將源碼拷貝進去再編譯,該方法是可行的。后來才發現很麻煩,虛擬機很占用空間,於是決定使用docker試試,實驗了一番,還真可以,方便占用存儲小,啟動起來快。

環境

主機:Ubuntu 16.04.2 LTS 64位 16G內存 500G硬盤 16個內核

docker版本: 17.03.0-ce

docke鏡像:ubuntu12.04 64位

同步鏡像

sudo docker pull registry.cn-shenzhen.aliyuncs.com/qusir/ubuntu12.04_msm8909:0.1

以上鏡像我已經定制好了的版本ubuntu12.04 64位,安裝好了依賴項和gcc,可以直接使用msm8909高通平台編譯。

修改后保存鏡像

docker提交鏡像

先查看運行鏡像的ID,不要將鏡像停止運行,然后用以下命令

速凍docker commit 61412230ae46 registry.cn-hangzhou.aliyuncs.com/qusir/liang

添加鏡像

sudo docker tag 70838701e83a registry.cn-hangzhou.aliyuncs.com/qusir/liang:0.1

推送鏡像

sudo docker push registry.cn-hangzhou.aliyuncs.com/qusir/liang:0.1

編譯源碼

啟動鏡像,映射目錄

docker run -it --rm -v /home/liang/data:/data registry.cn-shenzhen.aliyuncs.com/qusir/ubuntu12.04_msm8909 bash

將主機上的/home/liang/data的目錄映射到docke的/data目錄下

編譯源碼

初始化環境變量

source ./build/envsetup.sh 

選擇編譯選項

lunch

選擇

34. msm8909-userdebug

開始編譯

make -j8

關閉鏡像

Ctrl+D退出鏡像


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM