用Docker搭建Robolectric構(gòu)建環(huán)境

前面兩篇文章介紹了:
Docker基本概念和操作:鏈接
Docker的安裝:鏈接

下面介紹一下使用Docker來(lái)完成一些開發(fā)中的工作,這里是構(gòu)建Robolectric。主要是因?yàn)橛行┑胤骄W(wǎng)絡(luò)太復(fù)雜,經(jīng)常依賴包安裝不成功,導(dǎo)致編譯很難成功。所以才想到了創(chuàng)建一個(gè)Docker鏡像,保存編譯Robolectric需要的環(huán)境。便于在其它地方使用。

下面介紹一下具體操作方法。

查找Docker Hub是否有相關(guān)的Image

比如Robolectric編譯需要android sdk環(huán)境,參見下面網(wǎng)址:
https://github.com/robolectric/robolectric/
其中的Building And Contributing:
./scripts/install-dependencies.rb
./gradlew clean assemble install compileTest
需要mvn和ruby,還需要有android sdk。

因此搜索 Docker Hub是否有android相關(guān)的鏡像:
網(wǎng)頁(yè)搜索或者命令行搜索:
docker search android

如果找到,則下載它運(yùn)行:
比如,我們找到下面這個(gè)跟我們需求比較一致:
https://hub.docker.com/r/runmymind/docker-android-sdk/
于是用下面命令下載它:
docker pull runmymind/docker-android-sdk
它的體積比較大,鏡像6G,安裝后有20G。

同時(shí),我們可以參考它的Dockerfile
https://hub.docker.com/r/runmymind/docker-android-sdk/~/dockerfile/

創(chuàng)建一個(gè)github項(xiàng)目自動(dòng)構(gòu)建鏡像

本來(lái)一開始是打算本地構(gòu)建鏡像,由于網(wǎng)絡(luò)原因,apt-get install安裝軟件失敗。
后來(lái)創(chuàng)建一個(gè)github項(xiàng)目,讓它與Docker Hub關(guān)聯(lián)起來(lái)自動(dòng)構(gòu)建。
https://github.com/sinojelly/build-robolectric/

注意:
1、需要把runmymind/docker-android-sdk鏡像中的/opt/tools和$ANDROID_HOME/licenses 目錄上傳到github項(xiàng)目Dockerfile同一級(jí)目錄。
2、刪除模擬器需要用的images的安裝。
3、apt-get install的時(shí)候加上--no-install-recommends ,節(jié)省空間。
最終構(gòu)建的鏡像:
https://hub.docker.com/r/sinojelly/build-robolectric/
體積是4G。
下載該鏡像的方法:
docker pull sinojelly/build-robolectric

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容