IDE都是給小白程序員的,大牛級別的程序員必定是命令行控,終端控,你看大牛都是使用vim,emacs 就一切搞定」html
這話說的雖然有些絕對,可是也不無道理,作開發這行要想效率高,自動化還真是缺乏不了命令行工具,由於只有命令行纔是最佳的人機交互工具。其實IDE也是底層也是調用命令行工具而已,只不過給普通開發者呈現一個更友好的開發界面。這裏可不是宣揚讓你們放棄IDE都改命令行,只是每種事物都有他存在的理由,不管是編程語言仍是工具都是一個原則 「沒有最好的,只有最合適的」。html5
前一段時間作一我的產品,發佈產品的時候爲了統計各渠道流量免不了要構建不通的渠道包,你懂得國內渠道上百個,靠IDE編譯打包非吐血不可。這些重複勞動最適合交個程序來作,不少程序員想不明白這個問題,寧願把大量的精力時間花在業務上,殊不知道用工具提升工做效率。在這裏寫一篇簡單的教程,告訴你們怎麼脫離IDE環境完成一個android項目的編譯構建,有了這基礎開發什麼自動化構建工具都不是什麼難事了, 前一陣子作的一個打包html5應用的在線工具AppBuilder就是基於命令行構建完成的。java
說到命令行天然是不須要圖形界面,因此Android SDK的安裝下載天然都是在終端上進行。下面是本文中使用的一些SDK和基本環境。linux
ubuntu server 14.04 (64位)android
JDK 1.7c++
android-sdk_r24.0git
gradle-2.2.1程序員
進入正題,接下來一步一步介紹如何安裝配置一個命令行下的編譯構建系統.github
配合android的JDK最好選用JDK官方版本而不是Open JDK,下面是在unbuntu下安裝JDK 1.7的方法。web
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
android sdk 工具包的一些命令行工具是基於32位系統的,在64爲平臺運行32程序必須安裝 i386 的一些依賴庫,方法以下:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1
安裝完成32位的依賴庫後,咱們使用wget 去官方下載最新的linux下android SDK包。
cd ~ wget http://dl.google.com/android/android-sdk_r24.0.1-linux.tgz tar xvzf android-sdk_r24.0.1-linux.tgz
編輯 .profile 或者 .bash_profile 把下面的目錄增長到 path的搜索路徑中,確保android SDK的的一些命令工具能夠直接在終端使用,好比 adb 命令。
ANDROID_HOME=$HOME/android-sdk-linux export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools" exprot ANDROID_HOME
使環境變量生效
source ~/.profile
環境變量生效後,你可使用android命令 列出sdk相關的列表,以便咱們選擇和本身項目匹配的SDK版本。(剛纔只是安裝了最基礎的SDK,要徹底知足你的開發環境須要還得從下面的列表中選擇你須要的SDK和工具更新下載)
android list sdk --all
輸出以下所示:
1- Android SDK Tools, revision 24.0.1 2- Android SDK Platform-tools, revision 21 3- Android SDK Build-tools, revision 21.1.2 4- Android SDK Build-tools, revision 21.1.1 5- Android SDK Build-tools, revision 21.1 6- Android SDK Build-tools, revision 21.0.2 7- Android SDK Build-tools, revision 21.0.1 8- Android SDK Build-tools, revision 21 9- Android SDK Build-tools, revision 20 10- Android SDK Build-tools, revision 19.1 11- Android SDK Build-tools, revision 19.0.3 12- Android SDK Build-tools, revision 19.0.2 13- Android SDK Build-tools, revision 19.0.1 14- Android SDK Build-tools, revision 19 15- Android SDK Build-tools, revision 18.1.1 16- Android SDK Build-tools, revision 18.1 17- Android SDK Build-tools, revision 18.0.1 18- Android SDK Build-tools, revision 17 19- Documentation for Android SDK, API 21, revision 1 20- SDK Platform Android 5.0.1, API 21, revision 2 21- SDK Platform Android 4.4W.2, API 20, revision 2 22- SDK Platform Android 4.4.2, API 19, revision 4 23- SDK Platform Android 4.3.1, API 18, revision 3 24- SDK Platform Android 4.2.2, API 17, revision 3 ....
這裏包括不一樣的Android API 版本和不一樣的構建工具,選擇你想要安裝項目的序號,這裏我想安裝 build tools 19.1 ,build tools 21 及 android 4.2.2以上的SDK因此選擇序號 「1,2,3,20,21,22,23」
android update sdk -u -a -t 1,2,3,10,20,21,22,23
使用Ant構建項目已是過去式了,這裏咱們選用更增強悍和方便的構建工具gradle 。
下載 grdle 二進制包
cd ~ wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
釋放到本地Home目錄,建立名字爲」gradle」的符號連接,符號鏈接的好處是方便版本更新,有了新的版本直接修改符號連接便可。
unzip gradle-2.2.1-bin.zip ln -s gradle-2.2.1 gradle
配置gradle環境變量並使其生效,編輯 ~/.profje 文件增長下面內容
GRADLE_HOME=$HOME/gradle export PATH=$PATH:$GRADLE_HOME/bin
保存後使環境變量使其生效
source ~/.profile
環境變量生效後你能夠在終端敲入’gradle’命令並運行用以檢測gradle是否安裝成功。
gradle
若是安裝配置的沒有問題將會提示相似下面的信息
:help Welcome to Gradle 2.2.1 To run a build, run gradle <task> ... To see a list of available tasks, run gradle tasks To see a list of command-line options, run gradle --help BUILD SUCCESSFUL
完成以上的環境配置,咱們的一個Android下的基礎構建環境就所有配置好了,接下來作的事情就是嘗試使用gradle 編譯一個android 應用出來驗證個人編譯環境是否OK,下載我寫的一個gadle demo 例子進行測試。
git clone https://github.com/examplecode/gradle_demo cd gradle_demo/hello-apk-with-gradle gradle build
一切順利的話,編譯完成後,你會在 「hello-apk-with-gradle/build/outputs/apk」 目錄下找到編譯好的apk包。至於如何整合到你本身的項目中去,只須要仿照例子給你的項目提供一個」gradle.build」 腳本便可。