工作需求,Survey 如何於 Command Line 利用 Ant build script 開發 Android Application
利用 Ant build script 開發 Android Application
如何取得 Ant Tool: http://ant.apache.org/
Ant 讀取 build.xml 來配置 resource 與 source code,其採用 XML 的多階層樹狀結構,build.xml 的基本結構為:
project 節點 > target 節點 >task 節點
project 節點:
project 節點為 build.xml 文件的根節點,只能有一個,project 節點共有三個屬性:
- name:表專案名稱
- default:預設的 target 節點。 (必要)
- basedir:用來指定專案的跟目錄,可額外定義 "basedir" property 節點來覆寫這個值,若均未指定,則以 build.xml 所在之目錄作為 basedir。
description 節點:
可有可無,用來描述 Project 內容。
target 節點:
target 節點存放 Ant 的執行命令,命令以 task 進行描述,命令間可以使用 depends 屬性定義相依關係,也可定義 if 及 unless 屬性。
- name: target 名稱。(必要)
- depends: 在執行此 target 節點之前,要先執行的其他節點名稱,以逗號區隔。
- if: 必須定義某個 property 才能執行此節點。
- unless: 必須不定義某個 property 才能執行此節點。
- descripttion: 文字說明。
task 節點:
task 節點為 Ant 執行工作的基本單位,可分為 core tasks 和 optional tasks,常用的 task 如下:
* 檔案壓縮的任務 : <jar>, <zip>, <war>
* 稽核檢驗的任務 : <jdepend>, <jprobe>
* 檔案編譯的任務 : <javac>, <jspc>
* 系統部署的任務 : <serverdeploy>
* 文件產生的任務 : <javadoc>, <stylebook>
* EJB 專屬的任務 : <ddcreator>, <ejbc>
* 程式執行的任務 : <ant>, <exec>, <java>
* 檔案目錄的任務 : <mkdir>, <copy>, <delete>
* 日誌記錄的任務 : <record>
* 郵件寄發的任務 : <mail>
* 其他工具的任務 : <echo>, <script>, <sql>
* Properties 的任務 : <property>, <propertyfile>
* 遠端作業的任務 : <ftp>, <telnet>, <setproxy>
* 共同作業的任務 : <cvs>, <clearcase>
* 單元測試的任務 : <junit>, <test>
property 節點:
定義專案的屬性值,要讀取 property 時,必須使用 @{property名稱} 的格式。
- name: property 名稱。
- value: property 值。