TQ3399開(kāi)發(fā)平臺(tái)
是基于RK3399開(kāi)發(fā)的,核心板采用雙排BTB連接器,尺寸80mm*55mm,共引出240Pin,將RK3399 CPU的絕大部分功能信號(hào)引出,包含ETHERNET、HDMI、eDP、MIPI DSI、MIPI_CSI、USB、SDIO、UART、PCIE、I2S、SPI、I2C等通訊接口。
什么是Docker
Docker是一個(gè)用Go語(yǔ)言實(shí)現(xiàn)的開(kāi)源項(xiàng)目,可以讓我們方便的創(chuàng)建和使用容器,Docker將程序以及程序所有的依賴都打包到Docker container,這樣你的程序可以在任何環(huán)境都會(huì)有一致的表現(xiàn),這里程序運(yùn)行的依賴也就是容器就好比集裝箱,容器所處的操作系統(tǒng)環(huán)境就好比貨船或港口,程序的表現(xiàn)只和集裝箱有關(guān)系(容器),和集裝箱放在哪個(gè)貨船或者哪個(gè)港口(操作系統(tǒng))沒(méi)有關(guān)系。
為什么要用Docker
搭建一個(gè)Android 編譯環(huán)境是一個(gè)非常繁瑣的過(guò)程,對(duì)于普通用戶而言,關(guān)注點(diǎn)并不在于環(huán)境的搭建。為了方便廣大用戶,我司使用Docker為用戶搭建好完整的Android編譯環(huán)境,同時(shí)打包成一個(gè)Docker鏡像,使得用戶只需簡(jiǎn)單幾步,便可完成Android編譯環(huán)境的搭建。
溫馨提示:請(qǐng)盡量不要使用虛擬機(jī)來(lái)安裝開(kāi)發(fā)環(huán)境,因?yàn)榫幾g時(shí)需要使用很大的內(nèi)存和較高的 CPU 資源,虛擬機(jī)并不能滿足要求,請(qǐng)盡量使用實(shí)際安裝到 PC 的 Ubuntu 系統(tǒng)。本文使用的是ubuntu16.04版本,Docker版本為20.10.7。請(qǐng)自行在PC機(jī)上安裝ubuntu系統(tǒng)。
第一步:執(zhí)行以下指令,在ubuntu上安裝Docker
1.卸載舊的Docker版本(如果未安裝過(guò),則可以跳過(guò)此步)
$ sudo apt-get remove docker docker-engine docker.io containerd runc
2.允許apt命令可以使用HTTPS訪問(wèn)Docker repository
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
3.添加Docker官方的GPG key
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.設(shè)置repository版本為stable并更新軟件列表
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
5.開(kāi)始安裝Docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6.安裝完成,查看Docker版本,確保正常安裝
$ sudo docker --version
7.docker換源。鏡像源默認(rèn)是國(guó)外的網(wǎng)站,所以下載會(huì)比較慢,這里是將鏡像源更換為阿里源。鏡像源地址可能會(huì)不定時(shí)更新,如果發(fā)現(xiàn)下載異常,可以更新鏡像源地址。
$ sudo sudo mkdir -p /etc/docker
$ sudo sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://0orggnrc.mirror.aliyuncs.com"]
}
EOF
$ sudo sudo systemctl daemon-reload
$ sudo sudo systemctl restart docker
第二步:從我司官網(wǎng)獲取已制作好的鏡像文件
文件下載鏈接:https://pan.baidu.com/s/17hfVjytj3h1-kiqcSMbWDg?pwd=57j3提取碼:57j3
第三步:在tar文件所在目錄,載入鏡像
1.執(zhí)行下方指令,載入鏡像
$ sudo docker load -i ./android_v0.tar
2.執(zhí)行下方指令,可以看到鏡像被成功加載
$ sudo docker images
第四步:通過(guò)鏡像創(chuàng)建容器
1.通常使用Docker,都是希望將編譯環(huán)境與代碼數(shù)據(jù)分離。而我司制作的Docker鏡像作為一個(gè)單純的Android編譯環(huán)境鏡像,由該鏡像生成出來(lái)的容器自然也是將代碼數(shù)據(jù)分離出去的。那么在使用該鏡像成容器時(shí),需要將我們的代碼數(shù)據(jù)掛載到我們的要生成的容器中去。
2.使用下方指令,可以通過(guò)我們的鏡像去生成一個(gè)容器,同時(shí)將代碼數(shù)據(jù)掛載到容器中去。
$ sudo docker run -it --name {容器名稱} -v {代碼數(shù)據(jù)的絕對(duì)路徑}:{容器內(nèi)的絕對(duì)路徑} {鏡像名}:{版本號(hào)}
其中,容器名稱是我們?yōu)閯?chuàng)建出來(lái)的容器取一個(gè)名字,代碼數(shù)據(jù)的絕對(duì)路徑是你想要掛載的代碼數(shù)據(jù)在當(dāng)前電腦中的絕對(duì)路徑,容器內(nèi)的絕對(duì)路徑就是創(chuàng)建出來(lái)的容器內(nèi)的一個(gè)絕對(duì)路徑,鏡像名就是第四步中的REPOSITORY,版本號(hào)就是第四步中的TAG。
舉個(gè)例子:sudo docker run -it --name myname -v /home/arthur/SourceCode:/home android:v0
3.執(zhí)行完創(chuàng)建容器指令后,會(huì)直接跳轉(zhuǎn)到容器中去,在容器中的 /home 目錄下可看到掛載進(jìn)來(lái)的代碼數(shù)據(jù)
至此,就成功使用Docker創(chuàng)建出編譯Android源碼的容器。
審核編輯:湯梓紅
-
Android
+關(guān)注
關(guān)注
12文章
3908瀏覽量
126903 -
連接器
+關(guān)注
關(guān)注
98文章
14055瀏覽量
135686 -
Ubuntu
+關(guān)注
關(guān)注
5文章
554瀏覽量
29429 -
鏡像
+關(guān)注
關(guān)注
0文章
159瀏覽量
10678 -
Docker
+關(guān)注
關(guān)注
0文章
446瀏覽量
11773
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論