天天看點

打造一個全指令行的Android建構系統

"ide都是給小白程式員的,大牛級别的程式員一定是指令行控,終端控,你看大牛都是使用vim,emacs 就一切搞定"

這話說的雖然有些絕對,但是也不無道理,做開發這行要想效率高,自動化還真是缺少不了指令行工具,因為隻有指令行才是最佳的人機互動工具。其實ide也是底層也是調用指令行工具而已,隻不過給普通開發者呈現一個更友好的開發界面。這裡可不是宣揚讓大家放棄ide都改指令行,隻是每種事物都有他存在的理由,無論是程式設計語言還是工具都是一個原則 “沒有最好的,隻有最合适的”。

打造一個全指令行的Android建構系統

說到指令行自然是不需要圖形界面,是以android sdk的安裝下載下傳自然都是在終端上進行。下面是本文中使用的一些sdk和基本環境。

ubuntu server 14.04 (64位)

jdk 1.7

android-sdk_r24.0

gradle-2.2.1

進入正題,接下來一步一步介紹如何安裝配置一個指令行下的編譯建構系統.

<a target="_blank"></a>

配合android的jdk最好選用jdk官方版本而不是open jdk,下面是在unbuntu下安裝jdk 1.7的方法。

<code>sudo add-apt-repository ppa:webupd8team/java</code>

<code>sudo apt-get update</code>

<code>sudo apt-get install oracle-java7-installer</code>

android sdk 工具包的一些指令行工具是基于32位系統的,在64為平台運作32程式必須安裝 i386 的一些依賴庫,方法如下:

<code>sudo dpkg --add-architecture i386</code>

<code>sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1</code>

安裝完成32位的依賴庫後,我們使用wget 去官方下載下傳最新的linux下android sdk包。

<code>cd ~</code>

<code>wget http://dl.google.com/android/android-sdk_r24.0.1-linux.tgz</code>

<code>tar xvzf android-sdk_r24.0.1-linux.tgz</code>

編輯 .profile 或者 .bash_profile 把下面的目錄增加到 path的搜尋路徑中,確定android sdk的的一些指令工具可以直接在終端使用,比如 adb 指令。

<code>android_home=$home/android-sdk-linux</code>

<code>export path="$path:$android_home/tools:$android_home/platform-tools"</code>

<code>exprot android_home</code>

使環境變量生效

<code>source ~/.profile</code>

環境變量生效後,你可以使用android指令 列出sdk相關的清單,以便我們選擇和自己項目比對的sdk版本。(剛才隻是安裝了最基礎的sdk,要完全滿足你的開發環境需要還得從下面的清單中選擇你需要的sdk和工具更新下載下傳)

<code>android list sdk --all</code>

輸出如下所示:

<code>1- android sdk tools, revision 24.0.1</code>

<code>2- android sdk platform-tools, revision 21</code>

<code>3- android sdk build-tools, revision 21.1.2</code>

<code>4- android sdk build-tools, revision 21.1.1</code>

<code>5- android sdk build-tools, revision 21.1</code>

<code>6- android sdk build-tools, revision 21.0.2</code>

<code>7- android sdk build-tools, revision 21.0.1</code>

<code>8- android sdk build-tools, revision 21</code>

<code>9- android sdk build-tools, revision 20</code>

<code>10- android sdk build-tools, revision 19.1</code>

<code>11- android sdk build-tools, revision 19.0.3</code>

<code>12- android sdk build-tools, revision 19.0.2</code>

<code>13- android sdk build-tools, revision 19.0.1</code>

<code>14- android sdk build-tools, revision 19</code>

<code>15- android sdk build-tools, revision 18.1.1</code>

<code>16- android sdk build-tools, revision 18.1</code>

<code>17- android sdk build-tools, revision 18.0.1</code>

<code>18- android sdk build-tools, revision 17</code>

<code>19- documentation for android sdk, api 21, revision 1</code>

<code>20- sdk platform android 5.0.1, api 21, revision 2</code>

<code>21- sdk platform android 4.4w.2, api 20, revision 2</code>

<code>22- sdk platform android 4.4.2, api 19, revision 4</code>

<code>23- sdk platform android 4.3.1, api 18, revision 3</code>

<code>24- sdk platform android 4.2.2, api 17, revision 3</code>

<code>....</code>

這裡包括不同的android api 版本和不同的建構工具,選擇你想要安裝項目的序号,這裡我想安裝 build tools 19.1 ,build tools 21 及 android 4.2.2以上的sdk是以選擇序号 “1,2,3,20,21,22,23”

<code>android update sdk -u -a -t 1,2,3,10,20,21,22,23</code>

使用ant建構項目已經是過去式了,這裡我們選用更加強悍和友善的建構工具gradle 。

下載下傳 grdle 二進制包

<code>wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip</code>

釋放到本地home目錄,建立名字為"gradle"的符号連結,符号連接配接的好處是友善版本更新,有了新的版本直接修改符号連結即可。

<code>unzip gradle-2.2.1-bin.zip</code>

<code>ln -s gradle-2.2.1 gradle</code>

配置gradle環境變量并使其生效,編輯 ~/.profje 檔案增加下面内容

<code>gradle_home=$home/gradle</code>

<code>export path=$path:$gradle_home/bin</code>

儲存後使環境變量使其生效

環境變量生效後你可以在終端敲入'gradle'指令并運作用以檢測gradle是否安裝成功。

<code>gradle</code>

如果安裝配置的沒有問題将會提示類似下面的資訊

<code>:help</code>

<code>welcome to gradle 2.2.1</code>

<code>to run a build, run gradle &lt;task&gt; ...</code>

<code>to see a list of available tasks, run gradle tasks</code>

<code>to see a list of command-line options, run gradle --help</code>

<code>build successful</code>

完成以上的環境配置,我們的一個android下的基礎建構環境就全部配置好了,接下來做的事情就是嘗試使用gradle 編譯一個android 應用出來驗證我的編譯環境是否ok,下載下傳我寫的一個gadle demo 例子進行測試。

<code>git clone https://github.com/examplecode/gradle_demo</code>

<code>cd gradle_demo/hello-apk-with-gradle</code>

<code>gradle build</code>

一切順利的話,編譯完成後,你會在 “hello-apk-with-gradle/build/outputs/apk” 目錄下找到編譯好的apk包。至于如何整合到你自己的項目中去,隻需要仿照例子給你的項目提供一個"gradle.build" 腳本即可

<b>原文釋出時間為:2015-08-07</b>

<b></b>

<b>本文來自雲栖社群合作夥伴“linux中國</b>

繼續閱讀