免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1914 | 回复: 0
打印 上一主题 下一主题

在 Eclipse 內,用 Ant 編譯你的 Android 程式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-24 13: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,程式碼最佳化等等)程式的選項。自己研究了半天,發現好像要用
Ant
(像是 UNIX 中的 make 或是 Windows 中的 nmake 這樣的批次編譯程式)才辦的到。
第一眼看到 Ant 的 build.xml 時,還真的被這處處充滿 xml tag
的文件給嚇到了,這到底是什麼東西啊。如果你和我有同樣的感覺,我建議你先到『天瓏』,買本『博碩文化』翻譯出版的『 Ant 實作手冊』,雖然是
2003 年的舊書,不過一本八百多頁的書,特價後才 199 元。對於要入 Ant 這個門的我來說,我覺得是物超所值。
看完我上面介紹的書後,你還要仔細閱讀,下面這個 SDK 文件中的 "Developing Android Applications with Other IDEs and Tools" 部分。
\docs\intro\develop-and-debug.html  \docs\intro\develop-and-debug.html
如何為你的 project 建立 build.xml
基本上,每個 project 的 build.xml 都是大同小異的。我建議你可以先用下列方法,建立一個樣板專案。我的目的,只是要其中的
build.xml。之後,我只要稍微修改一下這個樣板專案中的 build.xml,就可以將他用在其他的 project 上。
第一步,利用 activitycreator.bat 建立一個樣板專案。
\tools>activitycreator.bat --out test_ant org.my.package  \tools>activitycreator.bat --out test_ant org.my.package
在新建的 test_ant 目錄中,檢查一下,應該有個 build.xml。
\tools>dir test_ant /d /b  src bin libs res AndroidManifest.xml build.xml  \tools>dir test_ant /d /b
src bin libs res AndroidManifest.xml build.xml
接下來,先將這個 build.xml,複製到你的 project 目錄中,也就是和 AndroidManifest.xml,擺在同個目錄中。
這個 build.xml 的前幾行,長得應該像是下面這樣。
xml version="1.0" ?>  project name="test_ant" default="debug">            property name="sdk-folder" value="D:\Android\android-sdk-windows-1.0_r1" />      property name="android-tools" value="D:\Android\android-sdk-windows-1.0_r1\tools" />                  property name="application-package" value="org.my.package" />                    property name="outdir" value="bin" />      ...  
   
   
   
   
   
   
   
   
   
    ...
複製好後,我們要修改幾個地方才能給這個 project 使用。首先是,第二行中的 name="test_ant",你要將其中的
test_ant 換成你 project 的名稱。另外,第八行的 value="org.my.package",你要將其中的
org.my.package,換成這個程式的 package 路徑。
如果你的目的和我一樣,想利用 Ant 編譯出最佳化且沒有任何 debug information 的程式。那你還要將 build.xml 中的下面這段,
  target name="compile" depends="dirs, resource-src, aidl">      javac encoding="ascii" target="1.5" debug="true" extdirs=""              srcdir="."              destdir="${outdir-classes}"              bootclasspath="${android-jar}">          classpath>              fileset dir="${external-libs}" includes="*.jar"/>          classpath>       javac>  target>      
   
        
            
               
            
         
   
幫 javac 這個 task,加上 debug="false" 和 optimize="true" 這兩個選項。改完之後,就像下面這樣。
  target name="compile" depends="dirs, resource-src, aidl">      javac encoding="ascii" target="1.5" debug="true" extdirs=""              srcdir="."              destdir="${outdir-classes}"              debug="false"              optimize="true"              bootclasspath="${android-jar}">          classpath>              fileset dir="${external-libs}" includes="*.jar"/>          classpath>       javac>  target>         
   
        
            
               
            
         
      
這樣就大功告成了。
等等,要在 Eclipse 中執行 Ant 前,請再確定你是否有設定 JAVA_HOME 這個環境變數,和將 %JAVA_HOME%\bin 加入到 PATH 環境變數中。你可以透過 Windows 上的 控制台→系統→進階→環境變數 來修改這些環境變數。
在我的機器上,這兩個環境變數的設定如下。
JAVA_HOME=C:\PROGRA~1\Java\jdk1.6.0_05  Path=C:\WINDOWS\system32;C:\WINDOWS;C:\PROGRA~1\Java\jdk1.6.0_05\bin;  JAVA_HOME=C:\PROGRA~1\Java\jdk1.6.0_05
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
兜起來的,總行數都快到千了。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/85805/showart_1662767.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP