Chinaunix首页 | 论坛 | 博客
  • 博客访问: 822143
  • 博文数量: 210
  • 博客积分: 10002
  • 博客等级: 上将
  • 技术积分: 1840
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 09:56
文章分类

全部博文(210)

文章存档

2011年(1)

2010年(6)

2009年(65)

2008年(138)

我的朋友

分类: LINUX

2008-11-24 13:50:50

How to build the Android programs by using Ant.

從開始開發 Android 程式以來,一直都是用 Google 為 Eclipse 開發的 ADT plugin,在 Eclipse 這個開發環境中,撰寫、測試及編譯程式。

在 Eclipse 中,撰寫及測試程式,是件很愉悅的事,尤其是寫程式這事。這對之前習慣用 VI 寫 C/C++ 的我來說,Eclipse 所提供的功能,實在快把我寵壞了。除了 auto code completion 外,還隨時自動編譯,幫你找出所有可能的語法錯誤。最近,還發現他還有一些 code refactor 的功能。嗯,這個功能我喜歡(請原諒我如此訝異於這些功能的神奇,因為我才剛學 Java 而已)。

不過,編譯程式的部份,倒是一直困惑我許久。因為我在 Eclipse 中,一直找不到,要如何設定編譯 release mode (像是要去除 debug information,程式碼最佳化等等)程式的選項。自己研究了半天,發現好像要用 (像是 UNIX 中的 make 或是 Windows 中的 nmake 這樣的批次編譯程式)才辦的到。

第一眼看到 Ant 的 build.xml 時,還真的被這處處充滿 xml tag 的文件給嚇到了,這到底是什麼東西啊。如果你和我有同樣的感覺,我建議你先到『天瓏』,買本『博碩文化』翻譯出版的『 Ant 實作手冊』,雖然是 2003 年的舊書,不過一本八百多頁的書,特價後才 199 元。對於要入 Ant 這個門的我來說,我覺得是物超所值。

看完我上面介紹的書後,你還要仔細閱讀,下面這個 SDK 文件中的 "Developing Android Applications with Other IDEs and Tools" 部分。

  1. \docs\intro\develop-and-debug.html  

如何為你的 project 建立 build.xml

基本上,每個 project 的 build.xml 都是大同小異的。我建議你可以先用下列方法,建立一個樣板專案。我的目的,只是要其中的 build.xml。之後,我只要稍微修改一下這個樣板專案中的 build.xml,就可以將他用在其他的 project 上。

第一步,利用 activitycreator.bat 建立一個樣板專案。

  1. \tools>activitycreator.bat --out test_ant org.my.package  

在新建的 test_ant 目錄中,檢查一下,應該有個 build.xml。

  1. \tools>dir test_ant /d /b  
  2. src bin libs res AndroidManifest.xml build.xml  

接下來,先將這個 build.xml,複製到你的 project 目錄中,也就是和 AndroidManifest.xml,擺在同個目錄中。

這個 build.xml 的前幾行,長得應該像是下面這樣。

  1. xml version="1.0" ?>  
  2. <project name="test_ant" default="debug">  
  3.       
  4.     <property name="sdk-folder" value="D:\Android\android-sdk-windows-1.0_r1" />  
  5.     <property name="android-tools" value="D:\Android\android-sdk-windows-1.0_r1\tools" />  
  6.       
  7.       
  8.     <property name="application-package" value="org.my.package" />  
  9.   
  10.       
  11.       
  12.     <property name="outdir" value="bin" />  
  13.     ...  

複製好後,我們要修改幾個地方才能給這個 project 使用。首先是,第二行中的 name="test_ant",你要將其中的 test_ant 換成你 project 的名稱。另外,第八行的 value="org.my.package",你要將其中的 org.my.package,換成這個程式的 package 路徑。

如果你的目的和我一樣,想利用 Ant 編譯出最佳化且沒有任何 debug information 的程式。那你還要將 build.xml 中的下面這段,

  1.   
  2. <target name="compile" depends="dirs, resource-src, aidl">  
  3.     <javac encoding="ascii" target="1.5" debug="true" extdirs=""  
  4.             srcdir="."  
  5.             destdir="${outdir-classes}"  
  6.             bootclasspath="${android-jar}">  
  7.         <classpath>  
  8.             <fileset dir="${external-libs}" includes="*.jar"/>  
  9.         classpath>  
  10.      javac>  
  11. target>  

幫 javac 這個 task,加上 debug="false" 和 optimize="true" 這兩個選項。改完之後,就像下面這樣。

  1.   
  2. <target name="compile" depends="dirs, resource-src, aidl">  
  3.     <javac encoding="ascii" target="1.5" debug="true" extdirs=""  
  4.             srcdir="."  
  5.             destdir="${outdir-classes}"  
  6.             debug="false"  
  7.             optimize="true"  
  8.             bootclasspath="${android-jar}">  
  9.         <classpath>  
  10.             <fileset dir="${external-libs}" includes="*.jar"/>  
  11.         classpath>  
  12.      javac>  
  13. target>     

這樣就大功告成了。

等等,要在 Eclipse 中執行 Ant 前,請再確定你是否有設定 JAVA_HOME 這個環境變數,和將 %JAVA_HOME%\bin 加入到 PATH 環境變數中。你可以透過 Windows 上的 控制台→系統→進階→環境變數 來修改這些環境變數。

在我的機器上,這兩個環境變數的設定如下。

  1. JAVA_HOME=C:\PROGRA~1\Java\jdk1.6.0_05  
  2. Path=C:\WINDOWS\system32;C:\WINDOWS;C:\PROGRA~1\Java\jdk1.6.0_05\bin;  

重新啟動 Eclipse 後,在左邊的 project list 內,就可以發現你複製進去的 build.xml,在上面按滑鼠右鍵,依照下圖執行 Ant Build... 這個功能,在接著出現的對話框內,你就可以選擇 "release" 這個選項,去編譯你的 release mode 程式。

在這裡,我只是簡單地介紹如何在 Eclipse 環境中,用 Ant 編譯你的程式。如果你真的想要寫個 Android 軟體,並拿來賣的的話。建議你,還是要在 Ant 上好好下功夫,讓你的開發環境更順暢。像我的 build.xml 就是由幾個 xml 兜起來的,總行數都快到千了。

阅读(3396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~