1. 程式人生 > >Android應用開發高效工具集1---ant構建簡單Android專案

Android應用開發高效工具集1---ant構建簡單Android專案

java編譯那些事兒中提到了用ant去編譯Java專案,今天擴充套件到用它來構建Android專案,其實道理是相通的,變化的只是使用的形式。ant構建相比IDE的好處是多個子專案使用自定義jar包時,ant可以更好的完成自動化構建,一個命令就搞定整個專案的編譯而不用手工的匯出jar包然後再將其放到指定目錄。這就是高效的構建工具所標榜的。

先來說說ant在Linux下的安裝(那篇文章寫的太過簡單,其實也是很簡單的,別看mannul中寫的那麼複雜)。

1.ant的安裝

最簡單的辦法就是直接用Linux系統命令安裝:
Ubuntu:
sudo apt-get install ant
Fedora:
sudo yum install ant
缺點是軟體伺服器上的版本太過老舊。我在Fedora 14(這系統版本就夠老的了)安裝版本是1.7.1,而最新版本是1.9.4,所以還是推薦直接從
官網
下載最新的版本安裝。如果想看原始碼就選擇Source Edition,而我選擇了Binary Edition,就像是免安裝版軟體一下,步驟如下:

1)下載。zip或其他格式安裝包,解壓到你想放置的路徑:

[[email protected] ant]$ cp ~/Downloads/apache-ant-1.9.4-bin.zip .
[[email protected] ant]$ unzip apache-ant-1.9.4-bin.zip 
[[email protected] ant]$ cd apache-ant-1.9.4
[[email protected]
apache-ant-1.9.4]$ ls bin fetch.xml INSTALL lib manual README etc get-m2.xml KEYS LICENSE NOTICE WHATSNEW

2)設定環境變數

在.bashrc中新增如下內容:
15 export ANT_HOME=/home/linc/dev/ant/apache-ant-1.9.4
 16 export JAVA_HOME=/usr/java/jdk1.6.0_25
 17 export PATH=${PATH}:${ANT_HOME}/bin
為了讓修改立即生效,執行一下 source ~/.bashrc

3)檢查是否成功

執行ant,如列印下面的資訊,說明ant起作用了。
[[email protected] apache-ant-1.9.4]$ ant
Buildfile: build.xml does not exist!
Build failed

2.build.xml

ant的編譯是基於build.xml配置檔案的,而Android SDK已經為我們提供了一個模板,詳見<sdk>/tools/ant/build.xml
,更為美妙的是我們可以用android工具來生成build.xml。
android工具是<sdk>/tools下的工具,從名稱可以看出它的能力是很強的。這個工具以後會單獨找個機會說,先來簡單介紹一下它是如何幫忙建立build.xml檔案的,我們首先看一下幫助:
[[email protected] BallGame]$ android -h update project


       Usage:
       android [global options] update project [action options]
       Global options:
  -h --help       : Help on a specific command.
  -v --verbose    : Verbose mode, shows errors, warnings and all messages.
     --clear-cache: Clear the SDK Manager repository manifest cache.
  -s --silent     : Silent mode, shows errors only.


                         Action "update project":
  Updates an Android project (must already have an AndroidManifest.xml).
Options:
  -l --library    : Directory of an Android library to add, relative to this
                    project's directory.
  -p --path       : The project's directory. [required]
  -n --name       : Project name.
  -t --target     : Target ID to set for the project.
  -s --subprojects: Also updates any projects in sub-folders, such as test
                    projects.

除了引數-p路徑是必須的,其他引數都可以不帶。但是建議名稱-n要加上,否則會預設以Activity名稱來命名。-t可以不做修改,專案的Target Id其實就是指Android API的版本,我們可以檢視專案的project.properties,以此為基準,如下:

[[email protected] BallGame]$ tail project.properties 

...
# Project target.
target=android-4

進入原有專案BallGame目錄,輸入命令如下:
[[email protected] BallGame]$ android update project  -p .
Updated local.properties
No project name specified, using Activity name 'MainActivity'.
If you wish to change it, edit the first line of build.xml.
Added file ./build.xml
Added file ./proguard-project.txt

也可以指定更全的引數:

[[email protected] BallGame]$ android update project  -p . -n BallGame -t android-4
Updated project.properties
Updated local.properties
Updated file ./build.xml
Updated file ./proguard-project.txt
至此,build.xml在我們不動一槍的情況下搞定了。

3.編譯

執行ant debug,一個debug的apk就編譯出來了。


本文以一個最簡單的Android專案為例,講述ant的安裝和使用。下一篇講講複雜專案的ant構建。

相關推薦

Android應用開發高效工具1---ant構建簡單Android專案

在java編譯那些事兒中提到了用ant去編譯Java專案,今天擴充套件到用它來構建Android專案,其實道理是相通的,變化的只是使用的形式。ant構建相比IDE的好處是多個子專案使用自定義jar包時,ant可以更好的完成自動化構建,一個命令就搞定整個專案的編譯而不用手工的匯

Android應用開發------------Json工具類(fastJson和Gson的兩種工具類)

json一般是Android中比較常用的與伺服器互動的資料形式。我們常用的架包來解析json字串有fastjson和gson 分別寫了兩個工具類: fastJson import java.util.ArrayList; import java.util.List;

Ant—使用Ant構建簡單Java專案(一)

        Apache Ant主要用於Java專案的構建。為什麼要使用Apache Ant來構建專案呢:        1)專案構建不是簡單的編譯,各種資源需要合理構建,例如有的類需要壓縮成jar檔案,有的檔案需要放在指定位置,有時候需要使用配置檔案。這些工作是繁雜瑣碎

Android應用開發:網絡工具——Volley(二)

respond sid 開發 多少 called creat miss 相等 eal 引言 在Android應用開發:網絡工具——Volley(一)中結合Cloudant服務介紹了Volley的一般使用方法,當中包括了兩種請求類型StringRequest和JsonOb

Android應用開發:網絡工具——Volley(一)

要求 com 庫文件 urn welcom 順序 之前 air tin 引言 網絡一直是我個人的盲點,前一陣子抽空學習了一下Volley網絡工具的用法,也透過源代碼進行了進一步的學習,有一些心得想分享出來。在Android開發中,成熟的網絡工具不少,And

Android 應用開發---ViewPager----1.相關基本知識

ViewPager 詳解(一)---基本入門 效果圖: 實現了三個view間的相互滑動                      第一個VIEW向第二個VIEW滑動       第二個VIEW向第三個VIEW滑動     一、新建專案,引入ViewPager控制

Android應用開發:網路工具——Volley(一)

引言 網路一直是我個人的盲點,前一陣子抽出時間學習了一下Volley網路工具的使用方法,也透過原始碼進行了進一步的學習,有一些心得想分享出來。在Android開發中,成熟的網路工具不少,Android自帶了HttpClient,還有okhttp,還有koush大神建立的i

Android應用開發以及設計思想深度剖析(1

本文內容,主題是透過應用程式來分析Android系統的設計原理與構架。我們先會簡單介紹一下Android裡的應用程式程式設計,然後以這些應用程 序在執行環境上的需求來分析出,為什麼我們的Android系統需要今天這樣的設計方案,這樣的設計會有怎樣的意義, Android究竟

Android應用開發之提升使用者體驗1–style和themes

Android的Style設計就是提升使用者體驗的關鍵之一。Android上的Style分為了兩個方面: 1.Theme是針對窗體級別的,改變窗體樣式; 2.Style是針對窗體元素級別的,改變指定控制元件或者Layout的樣式。 Android系統的th

android應用開發-從設計到實現 1-1 創意

前言 當我們面對生活中各種讓你感動的創意、作品之時,一定有過這樣的想法:假如這是我自己設計並做出來的,那該多好啊。 是啊,假如有一件完全由自己產生的作品,能夠帶給別人方便與快樂,能夠受到別人的欣賞,那該是一件多麼幸福的事情。 作為設計師的我們,作為程式設計

android應用開發-從設計到實現 1-2 功能的確定

功能的確定 產品的功能並不是在確定了產品之後才開始考慮的,功能與創意選擇其實是一個“你中有我,我中有你”的關係。為了體現產品設計的階段性,我才將它單獨提出來分析。 這裡討論的產品功能,是建立在選定了某個基礎之上的。比如我們之前選定了天氣預報,那麼就將產品功能

android應用開發-從設計到實現 3-1 原型設計

原型設計 通過前面幾個章節,我們已經掌握了安卓系統Material Design設計的大致原則。接下來,我們開始嘗試將這些原則和方式運用到實際的專案當中。 效果圖與互動原型 產品原型的設計又可以分成兩個階段, 高保真效果圖:這是產品的靜態效果圖,圖

Android應用開發之所有動畫使用詳解

factory 技術分享 resource bsp phi 顯示 程序 恢復 分享 題外話:有段時間沒有更新博客了,這篇文章也是之前寫了一半一直放在草稿箱,今天抽空把剩余的補上的。消失的這段時間真的好忙,節奏一下子有些適應不過來,早晨七點四十就得醒來,晚上九點四十才準備下班

命令行下Android應用開發

連接 pac project p s -1 str ldp 變量 -i 本文介紹怎樣創建你的第一個Android應用程序。您將學到怎樣創建一個Androidproject和執行可調試版本號的應用程序。 開始本文學習之前。確保你已經安裝了開發環境。你須要: 1、下載A

Android 應用開發】 ActionBar 樣式具體解釋 -- 樣式 主題 簡單介紹 Actionbar 的 icon logo 標題 菜單樣式改動

detail sub str 進度條 代碼分析 extc dst 模式 html 作者 : 萬境絕塵 ([email protected]/* */)轉載請著名出處 : http://blog.csdn.net/shulianghan/article/deta

Android應用開發-小巫CSDN博客客戶端開發開篇

ada 下拉 得到 博文 git 發出 列表 util 如何 2014年9月8日 八月十五 祝各位中秋節快樂 小巫斷斷續續花了幾個星期的時間開發了這麽一款應用——小巫CSDN博客,屬於私人定制的這樣的一款應用,整個客戶端的數據全部來自本人博客,是通過爬取本人博客地址htm

Android應用開發技術:基礎構建】命令行下的Android應用開發

star andro all class文件 abs 2.3 pil data 資源 作者:郭孝星 微博:郭孝星的新浪微博 郵箱:[email protected]/* */ 博客:http://blog.csdn.net/allenw

Android應用開發經常使用知識

filter orf 沒有 power nal err align 父類 layout 1、近期打開的應用不在近期任務列表中顯示 android:excludeFromRecents="true" 設置為true,則排除在近期任務列表之外

android應用開發 button顯示兩行文本

data oid out ron sdn weight drawable 做的 nor 自己寫了個電話撥號器的程序給男朋友玩,用來專門打我的手機號,為了把界面做的好看一點,須要用到顯示兩行文本的button。在網上搜羅了兩種方法,記錄在以下。跟大家一起分享一下,希望

android應用開發-從設計到實現 3-4 靜態原型的狀態欄

不同的 討論 group 手把手教你 copy lac csdn article statusbar 靜態原型的狀態欄 狀態欄Symbol 狀態欄似乎非常復雜,有wifi信號、手機信號、時間、電量等信息,幸好Sketch原生就自帶的現成組件,你能