TQ3399開發平臺
是基于RK3399開發的,核心板采用雙排BTB連接器,尺寸80mm*55mm,共引出240Pin,將RK3399 CPU的絕大部分功能信號引出,包含ETHERNET、HDMI、eDP、MIPI DSI、MIPI_CSI、USB、SDIO、UART、PCIE、I2S、SPI、I2C等通訊接口。
什么是Docker
Docker是一個用Go語言實現的開源項目,可以讓我們方便的創建和使用容器,Docker將程序以及程序所有的依賴都打包到Docker container,這樣你的程序可以在任何環境都會有一致的表現,這里程序運行的依賴也就是容器就好比集裝箱,容器所處的操作系統環境就好比貨船或港口,程序的表現只和集裝箱有關系(容器),和集裝箱放在哪個貨船或者哪個港口(操作系統)沒有關系。
為什么要用Docker
搭建一個Android 編譯環境是一個非常繁瑣的過程,對于普通用戶而言,關注點并不在于環境的搭建。為了方便廣大用戶,我司使用Docker為用戶搭建好完整的Android編譯環境,同時打包成一個Docker鏡像,使得用戶只需簡單幾步,便可完成Android編譯環境的搭建。
溫馨提示:請盡量不要使用虛擬機來安裝開發環境,因為編譯時需要使用很大的內存和較高的 CPU 資源,虛擬機并不能滿足要求,請盡量使用實際安裝到 PC 的 Ubuntu 系統。本文使用的是ubuntu16.04版本,Docker版本為20.10.7。請自行在PC機上安裝ubuntu系統。
第一步:執行以下指令,在ubuntu上安裝Docker
1.卸載舊的Docker版本(如果未安裝過,則可以跳過此步)
$ sudo apt-get remove docker docker-engine docker.io containerd runc
2.允許apt命令可以使用HTTPS訪問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.設置repository版本為stable并更新軟件列表
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
5.開始安裝Docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6.安裝完成,查看Docker版本,確保正常安裝
$ sudo docker --version
7.docker換源。鏡像源默認是國外的網站,所以下載會比較慢,這里是將鏡像源更換為阿里源。鏡像源地址可能會不定時更新,如果發現下載異常,可以更新鏡像源地址。
$ 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
第二步:從我司官網獲取已制作好的鏡像文件
文件下載鏈接:https://pan.baidu.com/s/17hfVjytj3h1-kiqcSMbWDg?pwd=57j3提取碼:57j3
第三步:在tar文件所在目錄,載入鏡像
1.執行下方指令,載入鏡像
$ sudo docker load -i ./android_v0.tar
2.執行下方指令,可以看到鏡像被成功加載
$ sudo docker images
第四步:通過鏡像創建容器
1.通常使用Docker,都是希望將編譯環境與代碼數據分離。而我司制作的Docker鏡像作為一個單純的Android編譯環境鏡像,由該鏡像生成出來的容器自然也是將代碼數據分離出去的。那么在使用該鏡像成容器時,需要將我們的代碼數據掛載到我們的要生成的容器中去。
2.使用下方指令,可以通過我們的鏡像去生成一個容器,同時將代碼數據掛載到容器中去。
$ sudo docker run -it --name {容器名稱} -v {代碼數據的絕對路徑}:{容器內的絕對路徑} {鏡像名}:{版本號}
其中,容器名稱是我們為創建出來的容器取一個名字,代碼數據的絕對路徑是你想要掛載的代碼數據在當前電腦中的絕對路徑,容器內的絕對路徑就是創建出來的容器內的一個絕對路徑,鏡像名就是第四步中的REPOSITORY,版本號就是第四步中的TAG。
舉個例子:sudo docker run -it --name myname -v /home/arthur/SourceCode:/home android:v0
3.執行完創建容器指令后,會直接跳轉到容器中去,在容器中的 /home 目錄下可看到掛載進來的代碼數據
至此,就成功使用Docker創建出編譯Android源碼的容器。
審核編輯:湯梓紅
-
Android
+關注
關注
12文章
3945瀏覽量
127944 -
連接器
+關注
關注
98文章
14669瀏覽量
137244 -
Ubuntu
+關注
關注
5文章
566瀏覽量
30035 -
鏡像
+關注
關注
0文章
170瀏覽量
10802 -
Docker
+關注
關注
0文章
492瀏覽量
11967
發布評論請先 登錄
相關推薦
RK3399 Android7.1 DTS介紹
RK3399平臺Android鏡像-OTA 本地升級、OTA遠程升級
RK3399 docker無法加載IMAGE ID是為什么?
怎樣在RK3399-firefly上安裝Docker容器呢
國產處理器瑞芯微RK3568對比RK3399性能解析-迅為開發板
Firefly Android系統定制使用手冊(一)
RK3568開發板與RK3399開發板性能對比
ROC RK3399 PC Pro源代碼Linux SDK(僅支持RK3399)
![ROC <b class='flag-5'>RK3399</b> PC Pro源代碼Linux SDK(僅支持<b class='flag-5'>RK3399</b>)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
ROC RK3399 PC Pro固件Android10.0
![ROC <b class='flag-5'>RK3399</b> PC Pro固件<b class='flag-5'>Android</b>10.0](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論