<track id="rffo1"><div id="rffo1"></div></track>
        <track id="rffo1"><div id="rffo1"></div></track>

            <nobr id="rffo1"><optgroup id="rffo1"></optgroup></nobr>

            亦強科技 > Android APP開發方案 > 構建編譯Android項目的Docker鏡像

            構建編譯Android項目的Docker鏡像


            2016年01月26日 60 分類:Android APP開發方案

            接觸Docker的這段時間里,Docker給我的Android開發帶來了許多方便與驚喜。本文就是將Docker用于自動化編譯Android項目的一次嘗試。

            1.構建Android編譯環境的基礎鏡像

            首先我們構建一個具有Android編譯環境的基礎鏡像,該鏡像主要是做Android SDK的下載與components的安裝,我已將其push到了DockerHub:androidbuilder。目前的最新版本是V1.0,已安裝版本號為19、21、22、23相關的build-tool。

            嘗試編譯Android項目

            有了基礎鏡像,我們來嘗試使用其編譯Android項目,在我們項目的根目錄添加如下Dockerfile:

            ROM saymagic/androidbuilder:v1.0MAINTAINER saymagic <saymagic.dev@gmail.com>ENV PROJECT /projectRUN mkdir $PROJECTWORKDIR $PROJECTADD . $PROJECTRUN chmod +x ./gradlewRUN echo "sdk.dir=$ANDROID_HOME" > local.properties && \./gradlew --stacktrace app:dependencies

            我們首先將該Dockerfile構建成鏡像:

            docker build -t saymagic/androiddockertest:v1.0 .

            這樣,saymagic/androiddockertest:v1.0鏡像中就會包含了我們的項目,之后,我們只需要將該容器運行起來,在根目錄下輸入如下命令:

            docker run -it -v $(pwd)/app:/project/app saymagic/androiddockertest:v1.0 ./gradlew build --info

            此時,我們就可以看到通過Docker構建出的apk文件:

            以上只是一個簡單的嘗試,如果你對源碼感興趣或者想構建自己的編譯環境,請參考這里:https://gist.github.com/saymagic/dcbcf1629c53e5b721c3

            2.搭建持續編譯環境

            第一步中我們實現了可以編譯Android項目的基礎鏡像,我們將其做一次大改進,繼續在基礎鏡像中安裝gradle與jenkins。搭建一個可以持續編譯Android項目的Docker環境。

            最終成型的鏡像在此:androidjenkins,最新版本v2.0.

            使用方式非常簡單,在含有Docker的主機上運行如下命令(注意指定的Volume與Port):

            docker run -it -v $(pwd)/jenkins:/var/jenkins_home -p 80:8080 saymagic/androidjenkins:v2.0 ./start.sh

            運行完成之后,打開我們的主機80端口,就會看到Jenkins的身影:

            此時,推薦安裝如下一些Jenkins插件:

            • Gradle 插件:

            • Git 插件:

            • Fir.im的Jenkins插件:

            使用方法: http://blog.fir.im/jenkins/
            該插件可以將構建后的apk文件直接上傳至Fir.im,可以很方便的讓測試人員下載到最新版本。

            關于Jenkins的相關使用這里不做過多介紹。至此,一個可持續編譯Android的環境就已完成,要知道,我們只運行了一行代碼而已。

            該鏡像的相關源碼在這里:https://github.com/saymagic/AndroidJenkins,歡迎star。

            總結

            綜上,我們只需要本地進行push代碼,就會更新Fir.im中的項目。并且整個過程非常簡單,無需再搭建復雜Android的環境。非常值得一試。

            但需要提醒大家的是整個鏡像還是相當大的,并且對于內存的需求也是很高,比如不到1G內存的虛擬機就不要嘗試了。推薦digitalocean的新加坡機房,上2G內存,直接選擇含有Docker的主機,速度相當不錯,因為在國外,也無需為各種類庫無法下載而苦惱。我相信一刻鐘的時間你就會看到成型的效果。Enjoy it!

            請將您的寶貴意見發給我們

            Copyright ? 2013-2023 廣州亦強科技有限公司 粵ICP備13085004號

                  <track id="rffo1"><div id="rffo1"></div></track>
                  <track id="rffo1"><div id="rffo1"></div></track>

                      <nobr id="rffo1"><optgroup id="rffo1"></optgroup></nobr>

                      性女传奇在线播放